영어로 읽기

다음을 통해 공유


.NET 프로젝트 및 항목 템플릿 관리

운영 체제 선택

.NET는 사용자가 NuGet, NuGet 패키지 파일 또는 파일 시스템 디렉터리에서 템플릿이 포함된 패키지를 설치하거나 제거할 수 있도록 하는 템플릿 시스템을 제공합니다. 이 문서에서는 .NET SDK CLI를 통해 .NET 템플릿을 관리하는 방법을 설명합니다.

템플릿 만들기에 대한 자세한 내용은 자습서: 템플릿 만들기를 참조하세요.

템플릿 설치

템플릿 패키지는 dotnet new install SDK 명령을 통해 설치됩니다. 템플릿 패키지의 NuGet 패키지 식별자를 제공하거나 템플릿 파일이 포함된 폴더를 제공할 수 있습니다.

NuGet 호스티드 패키지

.NET CLI 템플릿 패키지는 광범위한 배포를 위해 NuGet에 업로드됩니다. 템플릿 패키지는 프라이빗 피드에서도 설치할 수 있습니다. NuGet 피드에 템플릿 패키지를 업로드하는 대신 로컬 NuGet 패키지 섹션에 설명된 대로 nupkg 템플릿 파일을 배포하고 수동으로 설치할 수 있습니다.

NuGet 피드를 구성하는 방법에 대한 자세한 내용은 dotnet nuget add source를 참조하세요.

기본 NuGet 피드에서 템플릿 패키지를 설치하려면 dotnet new install {package-id} 명령을 사용합니다.

.NET CLI
dotnet new install Microsoft.DotNet.Web.Spa.ProjectTemplates

특정 버전으로 기본 NuGet 피드에서 템플릿 패키지를 설치하려면 dotnet new install {package-id}::{version} 명령을 사용합니다.

.NET CLI
dotnet new install Microsoft.DotNet.Web.Spa.ProjectTemplates::2.2.6

로컬 NuGet 패키지

템플릿 패키지가 만들어지면 nupkg 파일이 만들어집니다. 템플릿을 포함하는 nupkg 파일이 있는 경우 dotnet new install {path-to-package} 명령을 사용하여 설치할 수 있습니다.

.NET CLI
dotnet new install c:\code\nuget-packages\Some.Templates.1.0.0.nupkg
.NET CLI
dotnet new install ~/code/nuget-packages/Some.Templates.1.0.0.nupkg

폴더

nupkg 파일에서 템플릿을 설치하는 대신 dotnet new install {folder-path} 명령을 사용하여 폴더에서 직접 템플릿을 설치할 수도 있습니다. 지정된 폴더는 발견된 템플릿에 대한 템플릿 패키지 식별자로 처리됩니다. 지정된 폴더의 계층 구조에 있는 모든 템플릿이 설치됩니다.

.NET CLI
dotnet new install c:\code\nuget-packages\some-folder\
.NET CLI
dotnet new install ~/code/nuget-packages/some-folder/

명령에 지정된 {folder-path}는 찾은 모든 템플릿의 템플릿 패키지 식별자가 됩니다. 템플릿 패키지 나열 섹션에 지정된 대로 dotnet new uninstall 명령을 사용하여 설치된 템플릿 패키지 목록을 가져올 수 있습니다. 이 예에서는 템플릿 패키지 식별자가 설치에 사용된 폴더로 표시됩니다.

콘솔
dotnet new uninstall
Currently installed items:

... cut to save space ...

  c:\code\nuget-packages\some-folder
    Templates:
      A Template Console Class (templateconsole) C#
      Project for some technology (contosoproject) C#
    Uninstall Command:
      dotnet new uninstall c:\code\nuget-packages\some-folder
콘솔
dotnet new uninstall
Currently installed items:

... cut to save space ...

  /home/username/code/templates
    Templates:
      A Template Console Class (templateconsole) C#
      Project for some technology (contosoproject) C#
    Uninstall Command:
      dotnet new uninstall /home/username/code/templates

템플릿 패키지 제거

템플릿 패키지는 dotnet new uninstall SDK 명령을 통해 제거됩니다. 템플릿 패키지의 NuGet 패키지 식별자를 제공하거나 템플릿 파일이 포함된 폴더를 제공할 수 있습니다.

NuGet 패키지

NuGet 템플릿 패키지를 설치한 후에는 NuGet 피드 또는 nupkg 파일에서 NuGet 패키지 식별자를 참조하여 해당 템플릿 팩을 제거할 수 있습니다.

템플릿 패키지를 제거하려면 dotnet new uninstall {package-id} 명령을 사용합니다.

.NET CLI
dotnet new uninstall Microsoft.DotNet.Web.Spa.ProjectTemplates

폴더

템플릿이 폴더 경로를 통해 설치되면 폴더 경로는 템플릿 패키지 식별자가 됩니다.

템플릿 패키지를 제거하려면 dotnet new uninstall {package-folder-path} 명령을 사용합니다.

.NET CLI
dotnet new uninstall c:\code\nuget-packages\some-folder
.NET CLI
dotnet new uninstall /home/username/code/templates

템플릿 패키지 나열

패키지 식별자 없이 표준 제거 명령을 사용하면 각 템플릿 패키지를 제거하는 명령과 함께 설치된 템플릿 패키지 목록을 볼 수 있습니다.

콘솔
dotnet new uninstall
Currently installed items:

... cut to save space ...

  c:\code\nuget-packages\some-folder
    Templates:
      A Template Console Class (templateconsole) C#
      Project for some technology (contosoproject) C#
    Uninstall Command:
      dotnet new uninstall c:\code\nuget-packages\some-folder

다른 SDK에서 템플릿 패키지 설치

SDK 6.0, SDK 7.0 등을 차례로 설치하는 것과 같이 각 버전의 SDK를 순차적으로 설치한 경우 SDK의 모든 템플릿이 설치됩니다. 그러나 7.0과 같은 최신 SDK 버전으로 시작하는 경우 이 버전의 템플릿만 포함됩니다. 다른 릴리스용 템플릿은 포함되지 않습니다.

.NET 템플릿은 NuGet에서 사용할 수 있으며 다른 템플릿처럼 설치할 수 있습니다. 자세한 내용은 NuGet 호스티드 패키지 설치를 참조하세요.

예를 들어 .NET 9 SDK에는 .NET 9를 대상으로 하는 콘솔 앱에 대한 템플릿이 포함되어 있습니다. .NET Core 3.1을 대상으로 하려면 3.1 템플릿 패키지를 설치해야 합니다.

  1. .NET Core 3.1을 대상으로 하는 앱을 만들어 보세요.

    .NET CLI
    dotnet new console --framework netcoreapp3.1
    

    오류 메시지가 표시되면 템플릿을 설치해야 합니다.

  2. .NET Core 3.1 프로젝트 템플릿을 설치합니다.

    .NET CLI
    dotnet new install Microsoft.DotNet.Common.ProjectTemplates.3.1
    
  3. 앱을 다시 만들어 보세요.

    .NET CLI
    dotnet new console --framework netcoreapp3.1
    

    프로젝트가 생성되었음을 나타내는 메시지가 표시됩니다.

    출력
    The template "Console Application" was created successfully.
    
    Processing post-creation actions...
    Running 'dotnet restore' on path-to-project-file.csproj...
      Determining projects to restore...
      Restore completed in 1.05 sec for path-to-project-file.csproj.
    
    Restore succeeded.
    

참고 항목