이 장에서는 .NET SDK를 설치하고, dotnet new로 웹 프로젝트를 만든 뒤 dotnet run과 dotnet watch로 실행하는 과정까지 다룹니다. 편집기 설정과 HTTPS 개발 인증서도 함께 살펴봅니다.
.NET SDK 설치하기
ASP.NET Core는 따로 내려받는 프레임워크가 아니라 .NET SDK에 들어 있습니다. SDK 하나만 설치하면 C# 컴파일러, dotnet 명령줄 도구, ASP.NET Core 런타임, 프로젝트 템플릿을 모두 쓸 수 있습니다.
- Windows: dotnet.microsoft.com에서 설치 프로그램을 내려받거나, Visual Studio 설치 시 "ASP.NET 및 웹 개발" 워크로드를 선택합니다.
- macOS: 공식 .pkg 설치 프로그램이나 Homebrew를 사용합니다.
- Linux: 배포판의 패키지 관리자나 Microsoft가 제공하는
dotnet-install.sh 스크립트를 사용합니다.
설치가 끝나면 새 터미널을 열어 확인합니다.
dotnet --version # 이 폴더에서 기본으로 쓰이는 SDK
dotnet --list-sdks # 설치된 모든 SDK
dotnet --list-runtimes # Microsoft.AspNetCore.App 이 있는지 확인
.NET은 장기 지원(LTS) 버전과 표준 지원(STS) 버전이 번갈아 나옵니다. 새 프로젝트에는 보통 가장 최근의 LTS나 최신 안정판을 고릅니다.
템플릿으로 프로젝트 만들기
dotnet new는 템플릿으로 프로젝트의 뼈대를 만듭니다. 웹 개발에서 자주 쓰는 템플릿은 다음과 같습니다.
# 빈 웹 앱
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/weatherforecast
HTTPS 개발 인증서
https 프로필을 쓰려면 신뢰할 수 있는 로컬 인증서가 필요합니다. SDK가 인증서를 만들고 신뢰 목록에 넣어 줍니다.
dotnet dev-certs https --trust
dotnet dev-certs https --check
Windows와 macOS에서는 이 명령으로 시스템 신뢰 저장소에 인증서가 등록됩니다. Linux에서는 배포판에 따라 추가 설정이 필요할 수 있습니다.
편집기 설정
- Visual Studio(Windows): 디버깅, 프로파일링, 내장 HTTP 클라이언트까지 갖춘 가장 완전한 환경입니다. "ASP.NET 및 웹 개발" 워크로드를 설치합니다.
- Visual Studio Code: C# Dev Kit 확장을 설치하면 프로젝트 관리, IntelliSense, 디버깅, 테스트 탐색기를 쓸 수 있습니다. Windows, macOS, Linux에서 모두 동작합니다.
- JetBrains Rider: 리팩터링 기능이 강력하고 ASP.NET Core를 기본 지원하는 크로스 플랫폼 IDE입니다.
어떤 편집기를 쓰든 기준은 dotnet CLI입니다. 터미널, IDE, CI에서 프로젝트가 같은 방식으로 빌드되고 실행됩니다.
정리
- .NET SDK를 설치하면 ASP.NET Core가 함께 설치됩니다.
dotnet new web 또는 dotnet new webapi로 프로젝트를 만듭니다.dotnet run으로 실행하고, 개발 중에는 dotnet watch로 변경을 바로 확인합니다.- 로컬에서 HTTPS를 쓰려면
dotnet dev-certs https --trust로 개발 인증서를 신뢰합니다.
댓글 0개
로그인 · 로그인하면 댓글을 남길 수 있습니다.