dotnet 명령

이 문서의 적용 대상: ✔️ .NET Core 3.1 SDK 이상 버전

이름

dotnet - .NET CLI의 일반 드라이버입니다.

개요

사용 가능한 명령 및 환경에 대한 정보를 얻으려면 다음을 수행합니다.

dotnet [--version] [--info] [--list-runtimes] [--list-sdks]

dotnet -h|--help

명령을 실행하려면(SDK를 설치해야 함) 다음을 수행합니다.

dotnet <COMMAND> [-d|--diagnostics] [-h|--help] [--verbosity <LEVEL>]
    [command-options] [arguments]

애플리케이션을 실행하려면 다음을 수행합니다.

dotnet [--additionalprobingpath <PATH>] [--additional-deps <PATH>]
    [--fx-version <VERSION>]  [--roll-forward <SETTING>]
    <PATH_TO_APPLICATION> [arguments]

dotnet exec [--additionalprobingpath] [--additional-deps <PATH>]
    [--depsfile <PATH>]
    [--fx-version <VERSION>]  [--roll-forward <SETTING>]
    [--runtimeconfig <PATH>]
    <PATH_TO_APPLICATION> [arguments]

설명

dotnet 명령에는 두 가지 기능이 있습니다.

  • .NET 프로젝트 작업을 위한 명령을 제공합니다.

    예를 들어 dotnet build는 프로젝트를 빌드합니다. 각 명령은 자체 옵션과 인수를 정의합니다. 모든 명령은 명령을 사용하는 방법에 대해 간략한 설명서를 출력하는 --help 옵션을 지원합니다.

  • .NET 애플리케이션을 실행합니다.

    애플리케이션을 실행할 애플리케이션 .dll 파일의 경로를 지정합니다. 애플리케이션을 실행하는 것은 진입점을 찾아서 실행하는 것이며 콘솔 앱의 경우에는 Main 메서드입니다. 예를 들어 dotnet myapp.dllmyapp 애플리케이션을 실행합니다. 배포 옵션에 대해 자세히 알아보려면 .NET 애플리케이션 배포를 참조하세요.

옵션

다음과 같은 다양한 옵션을 사용할 수 있습니다.

  • 환경에 대한 정보를 표시합니다.
  • 명령을 실행합니다.
  • 애플리케이션을 실행합니다.

환경 정보 및 사용 가능한 명령을 표시하는 옵션

실행할 명령이나 애플리케이션을 지정하지 않고 dotnet 자체에서 사용하는 경우 다음 옵션을 사용할 수 있습니다. 예를 들어 dotnet --info 또는 dotnet --version입니다. 환경에 대한 정보를 출력합니다.

  • --info

    .NET 설치 및 머신 환경(예: 현재 운영 체제)에 대한 자세한 정보를 출력하고 .NET 버전의 SHA를 커밋합니다.

  • --version

global.json 파일의 영향을 받을 수 있는dotnet 명령에 사용되는 .NET SDK의 버전을 출력합니다. SDK가 설치된 경우에만 사용할 수 있습니다.

  • --list-runtimes

    설치된 .NET 런타임의 목록을 출력합니다. x86 버전 SDK는 x86 런타임만 나열하며 x64 버전 SDK는 x64 런타임만 나열합니다.

  • --list-sdks

    설치된 .NET SDK의 목록을 출력합니다.

  • -?|-h|--help

    사용 가능한 명령 목록을 출력합니다.

명령을 실행하기 위한 옵션

명령과 함께 사용하는 dotnet의 옵션은 다음과 같습니다. 예를 들어 dotnet build --help 또는 dotnet build --verbosity diagnostic입니다.

  • -d|--diagnostics

    진단 출력을 사용합니다.

  • -v|--verbosity <LEVEL>

    명령의 세부 정보 표시 수준을 설정합니다. 허용되는 값은 q[uiet], m[inimal], n[ormal], d[etailed], diag[nostic]입니다. 모든 명령에서 지원되지는 않습니다. 이 옵션을 사용할 수 있는지 확인하려면 특정 명령 페이지를 참조하세요.

  • -?|-h|--help

    지정된 명령에 대한 설명서를 출력합니다. 예를 들어 dotnet build --help(은)는 build 명령에 대한 도움말을 표시합니다.

  • command options

    각 명령은 해당 명령과 관련된 옵션을 정의합니다. 사용 가능한 옵션 목록은 특정 명령 페이지를 참조하세요.

애플리케이션 실행 옵션

dotnet이 애플리케이션을 실행할 때 사용할 수 있는 옵션은 다음과 같습니다. 예: dotnet --roll-forward Major myapp.dll.

  • --additionalprobingpath <PATH>

    검색 정책 및 검색할 어셈블리를 포함하는 경로입니다. 옵션을 반복하여 여러 경로를 지정합니다.

  • --additional-deps <PATH>

    추가적인 .deps.json 파일의 경로입니다. deps.json 파일에는 어셈블리 충돌을 해결하는 데 사용되는 종속성, 컴파일 종속성 및 버전 정보 목록이 포함됩니다. 자세한 내용은 GitHub에서 런타임 구성 파일을 참조하세요.

  • --roll-forward <SETTING>

    앱에 롤포워드가 적용되는 방법을 제어합니다. SETTING은 다음 값 중 하나일 수 있습니다. 지정하지 않으면 Minor이 기본값입니다.

    • LatestPatch - 가장 높은 패치 버전으로 롤포워드합니다. 부 버전 롤포워드를 사용하지 않도록 설정합니다.
    • Minor - 요청된 부 버전이 없을 경우 가장 낮은 높은 부 버전으로 롤포워드합니다. 요청된 부 버전이 있다면 LatestPatch 정책이 사용됩니다.
    • Major - 요청된 주 버전이 없을 경우 가장 낮은 높은 주 버전으로 롤포워드합니다. 요청된 주 버전이 있다면 Minor 정책이 사용됩니다.
    • LatestMinor - 요청된 부 버전이 있는 경우에도 가장 높은 부 버전으로 롤포워드합니다. 구성 요소 호스팅 시나리오를 위한 것입니다.
    • LatestMajor - 요청된 주 버전이 있는 경우에도 가장 높은 주 버전, 가장 높은 부 버전으로 롤포워드합니다. 구성 요소 호스팅 시나리오를 위한 것입니다.
    • Disable - 롤포워드하지 않습니다. 지정된 버전에만 바인딩합니다. 이 정책은 최신 패치를 롤포워드할 수 있는 기능을 사용하지 않도록 설정하므로 일반 용도에는 좋지 않습니다. 이 값은 테스트용으로만 사용하는 것이 좋습니다.

    Disable을 제외하고, 모든 설정에서 사용 가능한 가장 높은 패치 버전을 사용합니다.

    롤포워드 동작은 프로젝트 파일 속성, 런타임 구성 파일 속성 및 환경 변수에서도 구성할 수 있습니다. 자세한 내용은 주 버전 런타임 롤포워드를 참조하세요.

  • --fx-version <VERSION>

    애플리케이션 실행에 사용할 .NET 런타임의 버전입니다.

    이 옵션은 애플리케이션의 .runtimeconfig.json 파일에 있는 첫 번째 프레임워크 참조의 버전을 재정의합니다. 그러므로 프레임워크 참조가 하나만 있는 경우에만 예상대로 작동합니다. 애플리케이션에 둘 이상의 프레임워크 참조가 있는 경우 이 옵션을 사용하면 오류가 발생할 수 있습니다.

exec 명령을 사용하여 애플리케이션을 실행하는 옵션

다음 옵션은 dotnet 명령을 사용하여 exec(이)가 애플리케이션을 실행하는 경우에만 사용할 수 있습니다. 예: dotnet exec --runtimeconfig myapp.runtimeconfig.json myapp.dll.

  • --depsfile <PATH>

    deps.json 파일의 경로입니다. deps.json 파일은 애플리케이션을 실행하는 데 필요한 종속성에 대한 정보를 포함하는 구성 파일입니다. 이 파일은 .NET SDK에서 생성됩니다.

  • --runtimeconfig <PATH>

    runtimeconfig.json 파일의 경로입니다. runtimeconfig.json 파일에는 런타임 설정이 포함되며 일반적으로 <applicationname>.runtimeconfig.json으로 이름이 지정됩니다. 자세한 내용은 .NET 런타임 구성 설정을 참조하세요.

dotnet 명령

일반

명령 함수
dotnet build .NET 애플리케이션을 빌드합니다.
dotnet build-server 빌드에서 시작된 서버와 상호 작용합니다.
dotnet clean 빌드 출력을 정리합니다.
dotnet exec .NET 애플리케이션을 실행합니다.
dotnet help 명령에 대한 자세한 온라인 설명서를 표시합니다.
dotnet migrate 유효한 Preview 2 프로젝트를 .NET Core SDK 1.0 프로젝트로 마이그레이션합니다.
dotnet msbuild MSBuild 명령줄에 대한 액세스 권한을 제공합니다.
dotnet new 지정한 템플릿에 대해 C# 또는 F# 프로젝트를 초기화합니다.
dotnet pack 코드의 NuGet 패키지를 만듭니다.
dotnet publish .NET Framework 종속형 또는 자체 포함 애플리케이션을 게시합니다.
dotnet restore 지정된 애플리케이션에 대한 종속성을 복원합니다.
dotnet run 소스에서 애플리케이션을 실행합니다.
dotnet sdk check 설치된 SDK 및 런타임 버전의 최신 상태를 표시합니다.
dotnet sln 솔루션 파일에 프로젝트를 추가, 제거 및 나열하는 옵션입니다.
dotnet store 어셈블리를 런타임 패키지 저장소에 저장합니다.
dotnet test Test Runner를 사용하여 테스트를 실행합니다.

프로젝트 참조

명령 함수
dotnet add reference 프로젝트 참조를 추가합니다.
dotnet list reference 프로젝트 참조를 나열합니다.
dotnet remove reference 프로젝트 참조를 제거합니다.

NuGet 패키지

명령 함수
dotnet add package NuGet 패키지를 추가합니다.
dotnet remove package NuGet 패키지를 제거합니다.

NuGet 명령

명령 함수
dotnet nuget delete 서버에서 패키지를 삭제하거나 목록에서 제거합니다.
dotnet nuget push 서버에 패키지를 푸시하고 게시합니다.
dotnet nuget locals http-request 캐시, 임시 캐시 또는 시스템 전체의 글로벌 패키지 폴더와 같은 로컬 NuGet 리소스를 지우거나 목록에 포함합니다.
dotnet nuget add source NuGet 소스를 추가합니다.
dotnet nuget disable source NuGet 소스를 사용하지 않도록 설정합니다.
dotnet nuget enable source NuGet 소스를 사용하도록 설정합니다.
dotnet nuget list source 구성된 NuGet 소스를 모두 나열합니다.
dotnet nuget remove source NuGet 소스를 제거합니다.
dotnet nuget update source NuGet 소스를 업데이트합니다.

워크로드 명령

명령 함수
dotnet workload install 선택적 워크로드를 설치합니다.
dotnet workload list 설치된 모든 워크로드를 나열합니다.
dotnet workload repair 설치된 모든 워크로드를 복구합니다.
dotnet workload search 선택한 워크로드 또는 사용 가능한 모든 워크로드를 나열합니다.
dotnet workload uninstall 워크로드를 제거합니다.
dotnet workload update 설치된 모든 워크로드를 다시 설치합니다.

전역, 도구 경로 및 로컬 도구 명령

도구는 NuGet 패키지에서 설치되고 명령 프롬프트에서 호출되는 콘솔 애플리케이션입니다. 도구를 직접 작성하거나 타사에서 작성한 도구를 설치할 수 있습니다. 도구를 전역 도구, 도구 경로 도구 및 로컬 도구라고도 합니다. 자세한 내용은 .NET 도구 개요를 참조하세요.

명령 함수
dotnet tool install 컴퓨터에 도구를 설치합니다.
dotnet tool list 컴퓨터에 현재 설치되어 있는 모든 전역, 도구 경로 또는 로컬 도구를 나열합니다.
dotnet tool search NuGet.org에서 지정된 검색 용어가 이름 또는 메타데이터에 포함된 도구를 검색합니다.
dotnet tool uninstall 컴퓨터에서 도구를 제거합니다.
dotnet tool update 컴퓨터에 설치된 도구를 업데이트합니다.

추가 도구

.NET SDK의 일부로 사용할 수 있는 추가 도구는 다음과 같습니다.

도구 함수
dev-certs 개발 인증서를 만들고 관리합니다.
ef Entity Framework Core 명령줄 도구입니다.
user-secrets 개발 사용자 비밀을 관리합니다.
watch 소스 코드의 변경 내용을 감지하면 애플리케이션을 다시 시작하거나 핫으로 다시 로드하는 파일 감시자입니다.

각 도구에 대한 자세한 내용을 보려면 dotnet <tool-name> --help를 입력합니다.

예제

새 .NET 콘솔 애플리케이션 만들기

dotnet new console

지정된 디렉터리에서 프로젝트 및 해당 종속성을 빌드합니다.

dotnet build

애플리케이션을 실행합니다.

dotnet exec myapp.dll
dotnet myapp.dll

참고 항목