이 문서의 적용 대상: ✔️ .NET Core 3.1 SDK 이상 버전
이름
dotnet new
- 지정된 템플릿을 기반으로 새 프로젝트, 구성 파일 또는 솔루션을 만듭니다.
개요
dotnet new <TEMPLATE> [--dry-run] [--force] [-lang|--language {"C#"|"F#"|VB}]
[-n|--name <OUTPUT_NAME>] [-f|--framework <FRAMEWORK>] [--no-update-check]
[-o|--output <OUTPUT_DIRECTORY>] [--project <PROJECT_PATH>]
[-d|--diagnostics] [--verbosity <LEVEL>] [Template options]
dotnet new -h|--help
설명
dotnet new
명령은 템플릿을 기반으로 .NET 프로젝트 또는 다른 아티팩트를 만듭니다.
이 명령은 템플릿 엔진을 호출하여 지정된 템플릿 및 옵션을 기반으로 디스크에 아티팩트를 만듭니다.
참고 항목
.NET 7 SDK부터 dotnet new
구문이 변경되었습니다.
-
--list
,--search
,--install
및--uninstall
옵션이list
,search
,install
및uninstall
하위 명령이 되었습니다. -
--update-apply
옵션이update
하위 명령이 되었습니다. -
--update-check
를 사용하려면update
옵션과 함께--check-only
하위 명령을 사용합니다.
이전에 사용 가능했던 다른 옵션은 해당 하위 명령과 함께 계속 사용할 수 있습니다.
각 하위 명령에 대한 별도의 도움말은 -h
또는 --help
옵션을 통해 사용할 수 있습니다. dotnet new <subcommand> --help
는 하위 명령에 대해 지원되는 모든 옵션을 나열합니다.
또한 이제 dotnet new
에 대한 탭 완료 기능을 사용할 수 있습니다. 설치된 템플릿 이름과 선택한 템플릿이 제공하는 옵션에 대한 완료 기능을 지원합니다.
.NET SDK에 대한 탭 완료를 사용하도록 설정하려면 탭 완료 사용을 참조하세요.
탭 완료
.NET SDK 7.0.100부터 dotnet new
에 탭 완료 기능을 사용할 수 있습니다. 설치된 템플릿 이름에 대한 완료는 물론 선택한 템플릿이 제공하는 옵션에 대한 완료도 지원합니다.
.NET SDK에 대한 탭 완료를 사용하도록 설정하려면 탭 완료 사용을 참조하세요.
암시적 복원
dotnet restore
, dotnet new
, dotnet build
, dotnet run
, dotnet test
및 dotnet publish
등 복원이 필요한 모든 명령에 의해 암시적으로 실행되므로 dotnet pack
를 실행할 필요가 없습니다. 암시적 복원을 사용하지 않으려면 --no-restore
옵션을 사용합니다.
dotnet restore
명령은 Azure DevOps Services의 연속 통합 빌드 또는 복원 발생 시점을 명시적으로 제어해야 하는 빌드 시스템과 같이 명시적으로 복원이 가능한 특정 시나리오에서 여전히 유용합니다.
NuGet 피드를 관리하는 방법에 대한 자세한 내용은 dotnet restore
설명서를 참조하세요.
인수
TEMPLATE
명령이 호출될 때 인스턴스화할 템플릿입니다. 각 템플릿에는 전달할 수 있는 특정 옵션이 있을 수 있습니다. 자세한 내용은 템플릿 옵션을 참조하세요.
dotnet new list
를 실행하여 설치된 모든 템플릿의 목록을 볼 수 있습니다..NET Core 3.0 SDK부터 .NET SDK 5.0.300까지 CLI는 다음 조건에서
dotnet new
명령을 호출할 때 NuGet.org에서 템플릿을 검색합니다.-
dotnet new
를 호출할 때 CLI가 템플릿 일치 또는 부분 일치조차 찾을 수 없는 경우. - 최신 버전의 템플릿을 사용할 수 있는 경우. 이 경우 프로젝트 또는 아티팩트가 만들어지지만 CLI는 업데이트된 템플릿 버전에 대해 경고합니다.
.NET SDK 5.0.300부터 NuGet.org에서 템플릿을 검색하려면
search
명령을 사용해야 합니다..NET SDK와 함께 제공되는 템플릿 목록은 사전 설치된 템플릿을 참조하세요.
-
옵션
--dry-run
지정된 명령이 실행되어 템플릿 만들기로 이어질 경우 발생하는 작업에 대한 요약을 표시합니다. .NET Core 2.2 SDK부터 사용할 수 있습니다.
--force
기존 파일을 변경할 경우에도 콘텐츠를 강제 생성합니다. 선택한 템플릿이 출력 디렉터리의 기존 파일을 재정의하는 경우에 필요합니다.
-?|-h|--help
명령에 대한 도움말을 출력합니다.
dotnet new
명령 자체 또는 템플릿에 대해 호출될 수 있습니다. 예:dotnet new mvc --help
.-lang|--language {C#|F#|VB}
만들 템플릿의 언어입니다. 허용되는 언어는 템플릿에 따라 다릅니다(인수 섹션에서 기본값 참조). 일부 템플릿의 경우 유효하지 않습니다.
참고 항목
일부 셸은
#
을 특수 문자로 해석합니다. 이러한 경우 언어 매개 변수 값을 따옴표로 묶습니다. 예:dotnet new console -lang "F#"
.-n|--name <OUTPUT_NAME>
생성된 출력에 대한 이름입니다. 이름을 지정하지 않으면 현재 디렉터리의 이름이 사용됩니다.
-f|--framework <FRAMEWORK>
대상 프레임워크를 지정합니다. TFM(대상 프레임워크 모니커)이 필요합니다. 예: "net6.0", "net7.0-macos". 이 값은 프로젝트 파일에 반영됩니다.
-no-update-check
템플릿을 인스턴스화할 때 템플릿 패키지 업데이트 확인을 사용하지 않도록 설정합니다. .NET SDK 6.0.100부터 사용 가능합니다.
dotnet new --install
을 사용하여 설치된 템플릿 패키지에서 템플릿을 인스턴스화할 때dotnet new
는 템플릿에 대한 업데이트가 있는지 확인합니다. .NET 6부터는 .NET 기본 템플릿에 대한 업데이트 검사가 수행되지 않습니다. .NET 기본 템플릿을 업데이트하려면 .NET SDK의 패치 버전을 설치합니다.-o|--output <OUTPUT_DIRECTORY>
생성된 출력을 배치할 위치입니다. 기본값은 현재 디렉터리입니다.
--project <PROJECT_PATH>
템플릿이 추가되는 프로젝트입니다. 이 프로젝트는 컨텍스트 평가에 사용됩니다. 지정하지 않으면 현재 또는 부모 디렉터리의 프로젝트가 사용됩니다. .NET SDK 7.0.100부터 사용 가능합니다.
-d|--diagnostics
진단 출력을 사용합니다. .NET SDK 7.0.100부터 사용 가능합니다.
-v|--verbosity <LEVEL>
명령의 세부 정보 표시 수준을 설정합니다. 허용되는 값은
q[uiet]
,m[inimal]
,n[ormal]
및diag[nostic]
입니다. .NET SDK 7.0.100부터 사용 가능합니다.
템플릿 옵션
각 템플릿에는 추가 옵션이 정의되어 있을 수 있습니다. 자세한 내용은 dotnet new
용 .NET 기본 템플릿을 참조하세요.
예제
C# 콘솔 애플리케이션 프로젝트를 만듭니다.
dotnet new console
현재 디렉터리에 F# 콘솔 애플리케이션 프로젝트를 만듭니다.
dotnet new console --language "F#"
지정된 디렉터리에 .NET Standard 2.0 클래스 라이브러리 프로젝트를 만듭니다.
dotnet new classlib --framework "netstandard2.0" -o MyLibrary
인증 없이 현재 디렉터리에 새 ASP.NET Core C# MVC 프로젝트를 만듭니다.
dotnet new mvc -au None
새 xUnit 프로젝트를 만듭니다.
dotnet new xunit
현재 디렉터리에서 SDK 버전을 8.0.101로 설정하는 global.json 만듭니다.
dotnet new globaljson --sdk-version 8.0.101 --roll-forward latestFeature
C# 콘솔 애플리케이션 템플릿에 대한 도움말 표시:
dotnet new console -h
F# 콘솔 애플리케이션 템플릿에 대한 도움말 표시:
dotnet new console --language "F#" -h
참고 항목
.NET