출시·고도화 중
ASP.NET Core 안내서 · 1/6
이 장에서는 .NET SDK를 설치하고, dotnet new로 웹 프로젝트를 만든 뒤 dotnet run과 dotnet watch로 실행하는 과정까지 다룹니다. 편집기 설정과 HTTPS 개발 인증서도 함께 살펴봅니다.
ASP.NET Core는 따로 내려받는 프레임워크가 아니라 .NET SDK에 들어 있습니다. SDK 하나만 설치하면 C# 컴파일러, dotnet 명령줄 도구, ASP.NET Core 런타임, 프로젝트 템플릿을 모두 쓸 수 있습니다.
dotnet-install.sh 스크립트를 사용합니다.설치가 끝나면 새 터미널을 열어 확인합니다.
dotnet --version # 이 폴더에서 기본으로 쓰이는 SDK
dotnet --list-sdks # 설치된 모든 SDK
dotnet --list-runtimes # Microsoft.AspNetCore.App 이 있는지 확인.NET은 장기 지원(LTS) 버전과 표준 지원(STS) 버전이 번갈아 나옵니다. 새 프로젝트에는 보통 가장 최근의 LTS나 최신 안정판을 고릅니다.
dotnet new는 템플릿으로 프로젝트의 뼈대를 만듭니다. 웹 개발에서 자주 쓰는 템플릿은 다음과 같습니다.
| 템플릿 | 만드는 것 |
|---|---|
web | 최소 API 엔드포인트 하나만 있는 빈 앱 |
webapi | 예제 엔드포인트와 OpenAPI 문서가 들어간 Web API |
webapi --use-controllers | 컨트롤러 기반 Web API |
mvc | 모델-뷰-컨트롤러(MVC) 웹 앱 |
razor | Razor Pages 웹 앱 |
blazor | Blazor 웹 앱 |
# 빈 웹 앱
dotnet new web -o HelloWeb
# 최소 API 방식의 Web API
dotnet new webapi -o TodoApi
cd TodoApi
# 설치된 템플릿 목록
dotnet new list-o는 만들 폴더를 정하며, 이 이름이 프로젝트 이름도 됩니다. web 템플릿의 Program.cs는 몇 줄뿐입니다.
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
app.MapGet("/", () => "Hello World!");
app.Run();WebApplication.CreateBuilder는 설정, 로깅, 의존성 주입, 웹 서버 Kestrel을 기본값으로 준비합니다. MapGet은 / 경로의 GET 요청을 처리할 함수를 등록하고, app.Run()은 서버를 시작해 앱이 종료될 때까지 요청을 받습니다. C#의 최상위 문(top-level statements)을 쓰기 때문에 Main 메서드가 없고, 자주 쓰는 네임스페이스는 암시적 using으로 들어옵니다.
dotnet run # 빌드 후 실행
dotnet run --launch-profile https # https 프로필로 실행
dotnet watch # 파일 변경을 감시하며 실행dotnet run은 Properties/launchSettings.json의 첫 프로필을 사용하며, Now listening on: http://localhost:5123처럼 주소를 출력합니다. 템플릿은 프로젝트마다 포트를 무작위로 정하므로 콘솔에 나온 주소를 확인합니다.
dotnet watch는 코드를 고치면 핫 리로드(Hot Reload)로 실행 중인 앱에 바로 반영합니다. 메서드 본문 수정 같은 변경은 재시작 없이 적용되고, 그 자리에서 적용할 수 없는 변경이면 앱을 다시 시작할지 묻습니다. Ctrl+R을 누르면 강제로 다시 시작합니다.
다른 터미널에서 요청을 보내 봅니다. webapi 템플릿은 Visual Studio와 VS Code에서 바로 요청을 보낼 수 있는 TodoApi.http 파일도 만들어 줍니다.
# 포트는 dotnet run 이 출력한 값으로 바꿉니다
curl http://localhost:5123/weatherforecasthttps 프로필을 쓰려면 신뢰할 수 있는 로컬 인증서가 필요합니다. SDK가 인증서를 만들고 신뢰 목록에 넣어 줍니다.
dotnet dev-certs https --trust
dotnet dev-certs https --checkWindows와 macOS에서는 이 명령으로 시스템 신뢰 저장소에 인증서가 등록됩니다. Linux에서는 배포판에 따라 추가 설정이 필요할 수 있습니다.
어떤 편집기를 쓰든 기준은 dotnet CLI입니다. 터미널, IDE, CI에서 프로젝트가 같은 방식으로 빌드되고 실행됩니다.
dotnet new web 또는 dotnet new webapi로 프로젝트를 만듭니다.dotnet run으로 실행하고, 개발 중에는 dotnet watch로 변경을 바로 확인합니다.dotnet dev-certs https --trust로 개발 인증서를 신뢰합니다.
댓글 0개
로그인 · 로그인하면 댓글을 남길 수 있습니다.
첫 댓글을 남겨 보세요.