asp.net-coreasp.net-core 시작하기

비고

.NET Core는 Microsoft 및 GitHub의 .NET 커뮤니티에서 유지 관리하는 범용 개발 플랫폼입니다. 이것은 크로스 플랫폼이며 Windows, macOS 및 Linux를 지원하며 장치, 클라우드 및 내장 / IoT 시나리오에서 사용할 수 있습니다.

다음 특성은 .NET 코어를 가장 잘 정의합니다.

  • 유연한 배포 : 앱에 포함하거나 사이드 바이 사이드 사용자 또는 컴퓨터 전체에 설치할 수 있습니다.
  • 크로스 플랫폼 : Windows, MacOS 및 Linux에서 실행됩니다. 다른 OS로 포팅 될 수 있습니다. 지원되는 운영 체제 (OS), CPU 및 응용 프로그램 시나리오는 Microsoft, 다른 회사 및 개인이 제공하는 시간이 지남에 따라 커질 것입니다.
  • 명령 줄 도구 : 모든 제품 시나리오는 명령 줄에서 실행할 수 있습니다.
  • 호환 가능 : .NET Core는 .NET 표준 라이브러리를 통해 .NET Framework, Xamarin 및 Mono와 호환됩니다.
  • 오픈 소스 : .NET 코어 플랫폼은 MIT 및 Apache 2 라이센스를 사용하는 오픈 소스입니다. 문서는 CC-BY에 따라 라이센스가 부여됩니다. .NET Core는 .NET Foundation 프로젝트입니다.
  • Microsoft에서 지원 : .NET Core는 Microsoft, .NET Core Support에서 지원됩니다.

버전

번역 릴리즈 노트 출시일
RC1 * 1.0.0-rc1 2015-11-18
RC2 * 1.0.0-rc2 2016-05-16
1.0.0 1.0.0 2016-06-27
1.0.1 1.0.1 2016-09-13
1.1 1.1 2016-11-16

설치 및 설정

Visual Studio 설치

Visual Studio가 설치되어 있지 않은 경우 여기에서 무료 Visual Studio Community Edition을 다운로드 할 수 있습니다 . 이미 설치 한 경우 다음 단계로 진행할 수 있습니다.

ASP.NET 핵심 MVC 응용 프로그램 만들기.

  1. Visual Studio를 엽니 다.
  2. 파일> 새 프로젝트를 선택하십시오.
  3. 왼쪽의 템플릿 섹션에서 원하는 언어로 웹을 선택하십시오 .
  4. 대화 상자에서 원하는 프로젝트 유형을 선택하십시오 .
  5. 선택 사항 : 대상으로 삼을 .NET Framework를 선택하십시오.
  6. 프로젝트의 이름을 지정 하고 프로젝트에 대한 솔루션을 만들지를 나타냅니다.
  7. 확인클릭 하여 프로젝트를 만듭니다.

여기에 이미지 설명을 입력하십시오.

프로젝트에 사용할 템플릿을 선택하는 또 다른 대화 상자가 나타납니다.

여기에 이미지 설명을 입력하십시오.

각 설명은 자명하다. 이 첫 번째 프로젝트의 경우, 모든 기본 구성, 인증 및 기존 컨텐츠가 포함될 웹 어플리케이션을 선택하십시오 .

이것은 소개 응용 프로그램이므로 보안이나 인증이 필요하지 않으므로 대화 상자의 오른쪽 에서 인증 옵션을 인증 없음으로 변경하고 확인을 클릭하여 프로젝트를 만들 수 있습니다 .

그런 다음 솔루션 탐색기에서 새 프로젝트를 확인해야합니다.

여기에 이미지 설명을 입력하십시오.

F5 키를 눌러 응용 프로그램을 실행하고 디버깅 세션을 시작하면 기본 브라우저에서 응용 프로그램이 시작됩니다.

여기에 이미지 설명을 입력하십시오.

이제 프로젝트가 로컬로 실행되어 실행중인 것을 볼 수 있으며 응용 프로그램을 빌드 할 수있는 출발점이 될 준비가되었습니다.

명령 줄에서 새 프로젝트 만들기

dotnet 명령을 사용하여 명령 줄에서 완전히 새로운 ASP.NET 핵심 프로젝트를 만들 수 있습니다.

dotnet new web
dotnet restore
dotnet run

dotnet new web 스캐 폴드 새로운 "빈"웹 프로젝트. web 매개 변수는 dotnet 도구가 ASP.NET Core Empty 템플릿을 사용하도록 지시합니다. 현재 설치되어있는 사용 가능한 모든 템플리트를 표시하려면 dotnet new -all 을 사용하십시오. 다른 핵심 템플릿에는 console , classlib , mvcxunit 있습니다.

템플릿을 스캐 폴딩 한 후에는 프로젝트를 실행하는 데 필요한 패키지를 복원하고 ( dotnet restore ) 컴파일 및 시작 ( dotnet run ) 할 수 있습니다.

프로젝트가 실행되면 기본 포트 ( http : // localhost : 5000) 에서 프로젝트를 사용할 수 있습니다 .

ASP.NET Core MVC가 포함 된 최소 ASP.NET Core Web API

ASP.NET Core 1.0에서는 MVC와 Web API 프레임 워크가 ASP.NET Core MVC라는 하나의 프레임 워크로 병합되었습니다. 이것은 MVC와 웹 API가 많은 기능을 공유하기 때문에 좋은 일이지만, 항상 미묘한 차이점과 코드 중복이있었습니다.

그러나이 두 가지를 하나의 프레임 워크로 병합하면 다른 것을 구별하기가 더 어려워졌습니다. 예를 들어, Microsoft.AspNet.WebApi 는 새로운 웹 API가 아닌 Web API 5.xx 프레임 워크를 나타냅니다. 그러나 Microsoft.AspNetCore.Mvc (버전 1.0.0 )를 포함하면 완전한 패키지를 얻을 수 있습니다. 여기에는 MVC 프레임 워크에서 제공하는 모든 기본 기능이 포함됩니다. 면도기, 태그 도우미 및 모델 바인딩과 같은.

웹 API를 구축하려는 경우이 모든 기능이 필요하지 않습니다. 그렇다면 우리는 최소한의 웹 API를 어떻게 구축 할 것인가? 대답은 Microsoft.AspNetCore.Mvc.Core 입니다. 새로운 세계에서 MVC는 여러 패키지로 나뉘며이 패키지는 라우팅 및 권한 부여와 같은 MVC 프레임 워크의 핵심 구성 요소 만 포함합니다.

이 예제에서는 최소한의 MVC API를 만들 것입니다. JSON 포맷터와 CORS를 포함합니다. 빈 ASP.NET 코어 1.0 웹 응용 프로그램을 만들고이 패키지를 프로젝트에 추가합니다 .json :

"Microsoft.AspNetCore.Mvc.Core": "1.0.0",
"Microsoft.AspNetCore.Mvc.Cors": "1.0.0",
"Microsoft.AspNetCore.Mvc.Formatters.Json": "1.0.0"

이제 시작 클래스에서 AddMvcCore() 를 사용하여 MVC를 등록 할 수 있습니다.

public void ConfigureServices(IServiceCollection services)
{
    services.AddMvcCore()
            .AddCors()
            .AddJsonFormatters();
}

AddMvcCore 는 추가 빌드를 허용하는 IMvcCoreBuilder 인스턴스를 반환합니다. 미들웨어 구성은 평소와 같습니다.

public void Configure(IApplicationBuilder app)
{
    app.UseCors(policy =>
    {
        policy.AllowAnyOrigin();
    });
    app.UseMvc();
}

컨트롤러

'오래된'웹 API는 자체 컨트롤러 기본 클래스 인 ApiController 와 함께 제공됩니다. 새로운 세상에는 그런 것이 없으며 기본 Controller 클래스 만 존재합니다. 불행히도 이것은 다소 큰 기본 클래스이며 모델 바인딩, 뷰 및 JSON.NET과 관련이 있습니다.

다행히도 새 프레임 워크에서 컨트롤러 클래스는 라우팅 메커니즘에서 Controller 를 가져올 필요가 없습니다. 그냥 Controller 로 이름을 Controller 됩니다. 이를 통해 우리는 자체 컨트롤러 기본 클래스를 구축 할 수 있습니다. 예전처럼 ApiController 라고 부르 자.

/// <summary>
/// Base class for an API controller.
/// </summary>
[Controller]
public abstract class ApiController
{
    [ActionContext]
    public ActionContext ActionContext { get; set; }

    public HttpContext HttpContext => ActionContext?.HttpContext;

    public HttpRequest Request => ActionContext?.HttpContext?.Request;

    public HttpResponse Response => ActionContext?.HttpContext?.Response;

    public IServiceProvider Resolver => ActionContext?.HttpContext?.RequestServices;
}

[Controller] 특성은 형식 또는 파생 된 형식이 기본 컨트롤러 검색 메커니즘에 의해 컨트롤러로 간주됨을 나타냅니다. [ActionContext] 속성은 MVC가 컨트롤러를 생성 할 때 현재 ActionContext 속성을 설정해야한다고 지정합니다. ActionContext 는 현재 요청에 대한 정보를 제공합니다.

ASP.NET 코어 MVC는 뷰를 지원하지 않고 컨트롤러 기본 클래스를 제공하는 ControllerBase 클래스도 제공합니다. 그래도 우리보다 훨씬 더 큽니다. 편리하다고 생각되면 사용하십시오.

결론

이제 새로운 ASP.NET Core MVC 프레임 워크를 사용하여 최소한의 웹 API를 구축 할 수 있습니다. 모듈 식 패키지 구조를 사용하면 필요한 패키지를 가져 와서 단순하고 단순한 응용 프로그램을 만들 수 있습니다.

Visual Studio 코드를 사용하여 크로스 플레이트 폼 (cross plateform) aspnet 코어 응용 프로그램 개발

AspNetCore를 사용하면 Mac, Linux, Window 및 Docker를 포함한 모든 플랫폼에서 응용 프로그램을 개발할 수 있습니다.

설치 및 설정

  1. 여기 에서 Visual Studio 코드를 설치 하십시오.
  2. C # extesnion 추가
  3. dot net core sdk를 설치하십시오. 여기 에서 설치할 수 있습니다.

이제 모든 도구를 사용할 수 있습니다. 응용 프로그램을 개발합니다. 이제 스캐 폴딩 옵션이 필요합니다. 이를 위해서는 Yeoman을 사용하는 것이 좋습니다. Yeoman을 설치하려면

  1. NPM을 설치하십시오. 이를 위해서 당신은 당신의 머신에 Node가 필요합니다. 여기 에서 설치

  2. NPM을 사용하여 Yeoman 설치

    npm install -g yo

  3. 이제 aspnet 생성기를 설치하십시오.

    npm install -g generator-aspnet

이제 우리는 당신의 컴퓨터에 모든 설정을했습니다. 먼저 DotNetCore 기본 명령을 사용하여 새 프로젝트를 만든 다음 Yo를 사용하여 새 프로젝트를 만듭니다.

명령 줄을 사용하여 새 프로젝트

  1. 새 프로젝트 폴더 만들기

    mkdir CoreApplication cd CoreApplication

  2. 기본 명령 행 옵션을 사용하여 아주 기본적인 dotnet 프로젝트 스캐 폴드

    새로운 닷넷

새 프로젝트

  1. 패키지 복원 및 응용 프로그램 실행

    dotNet 복원 dotnet 복원 여기에 이미지 설명을 입력하십시오.

예맨을 비계 옵션으로 사용하십시오.

프로젝트 폴더 생성 및 Yo 명령 실행

yo aspnet

Yeoman은 Project Type, Project Name 등의 입력을 요청할 것입니다.

여기에 이미지 설명을 입력하십시오.

여기에 이미지 설명을 입력하십시오.

이제 dotnet restore 명령을 실행하여 패키지를 복원하고 응용 프로그램을 실행합니다.

VS 코드를 사용하여 응용 프로그램 개발

다음과 같은 시각적 스튜디오 코드를 실행하십시오. 여기에 이미지 설명을 입력하십시오.

이제 파일을 열고 응용 프로그램을 실행하십시오. 확장 프로그램에서 도움을받을 수 있습니다.

ASP.NET Core의 환경 변수 설정 [Windows]

=> 원본 게시물 <=

ASP.NET Core는 ASPNETCORE_ENVIRONMENT 환경 변수를 사용하여 현재 환경을 확인합니다. 기본적으로이 값을 설정하지 않고 응용 프로그램을 실행하면 자동으로 Production 환경이 기본값으로 설정됩니다.

> dotnet run
Project TestApp (.NETCoreApp,Version=v1.0) was previously compiled. Skipping compilation.

Hosting environment: Production  
Content root path: C:\Projects\TestApp  
Now listening on: http://localhost:5000  
Application started. Press Ctrl+C to shut down. 

Windows에서 환경 변수 설정

커맨드 라인에서

Windows에 포함 된 setx.exe 명령을 사용하여 명령 프롬프트에서 환경 변수를 쉽게 설정할 수 있습니다. 사용자 변수를 쉽게 설정할 수 있습니다.

>setx ASPNETCORE_ENVIRONMENT "Development"

SUCCESS: Specified value was saved.

환경 변수는 현재 열린 창에 설정되어 있지 않습니다. 업데이트 된 환경을 보려면 새 명령 프롬프트를 열어야합니다. 관리 명령 프롬프트를 열고 / M 스위치를 추가하는 경우 (사용자 변수가 아닌) 시스템 변수를 설정할 수도 있습니다.

>setx ASPNETCORE_ENVIRONMENT "Development" /M

SUCCESS: Specified value was saved.

PowerShell 사용 또는 PowerShell을 사용하여 변수를 설정할 수 있습니다. PowerShell과 일반 사용자 및 시스템 변수에서 $Env: 명령을 사용하여 임시 변수를 만들 수도 있습니다.

$Env:ASPNETCORE_ENVIRONMENT = "Development"

생성 된 변수는 PowerShell 세션의 지속 기간 동안 지속됩니다. 일단 창을 닫으면 환경은 원래 값으로 되돌아갑니다.

또는 사용자 또는 시스템 환경 변수를 직접 설정할 수도 있습니다. 이 메서드는 현재 세션의 환경 변수를 변경하지 않으므로 변경 내용을 보려면 새 PowerShell 창을 열어야합니다. 이전과 마찬가지로 시스템 변수를 변경하려면 관리 액세스 권한이 필요합니다.

[Environment]::SetEnvironmentVariable("ASPNETCORE_ENVIRONMENT", "Development", "User")
[Environment]::SetEnvironmentVariable("ASPNETCORE_ENVIRONMENT", "Development", "Machine")

Windows 제어판 사용하기 명령 프롬프트의 팬이 아닌 경우 마우스를 사용하여 변수를 쉽게 업데이트 할 수 있습니다! Windows 시작 메뉴 단추를 클릭하거나 Windows 키를 누른 다음 environment variables 검색하고 environment variables 편집을 선택 하십시오 귀하의 계정에 대한 변수 : 여기에 이미지 설명을 입력하십시오.

이 옵션을 선택하면 시스템 등록 정보 대화 상자가 열립니다. 여기에 이미지 설명을 입력하십시오.

환경 변수를 눌러 시스템의 현재 환경 변수 목록을보십시오. 여기에 이미지 설명을 입력하십시오.

ASPNETCORE_ENVIRONMENT 라는 변수가 없다고 가정하고 New ... 버튼을 클릭하고 새 계정 환경 변수를 추가합니다. 여기에 이미지 설명을 입력하십시오. 확인을 클릭하여 모든 변경 사항을 저장하십시오. 새로운 환경 변수가로드되도록 명령 창을 다시 열어야합니다.