Aracılığıyla paylaş


.NET proje ve öğe şablonlarını yönetme

.NET, kullanıcıların NuGet'ten, NuGet paket dosyasından veya dosya sistemi dizininden şablon içeren paketleri yüklemesine veya kaldırmasına olanak tanıyan bir şablon sistemi sağlar. Bu makalede .NET SDK CLI aracılığıyla .NET şablonlarının nasıl yönetileceğini açıklanmaktadır.

Şablon oluşturma hakkında daha fazla bilgi için bkz . Öğretici: Şablon oluşturma.

Şablonu yükleme

Şablon paketleri, yükleme SDK'sı dotnet new komutuyla yüklenir. Şablon paketinin NuGet paket tanımlayıcısını veya şablon dosyalarını içeren bir klasörü sağlayabilirsiniz.

NuGet barındırılan paket

.NET CLI şablon paketleri, geniş dağıtım için NuGet'e yüklenir. Şablon paketleri özel bir akıştan da yüklenebilir. NuGet akışına şablon paketi yüklemek yerine, nupkg şablon dosyaları Yerel NuGet paketi bölümünde açıklandığı gibi dağıtılabilir ve el ile yüklenebilir.

NuGet akışlarını yapılandırma hakkında daha fazla bilgi için bkz dotnet nuget add source. .

Varsayılan NuGet akışından bir şablon paketi yüklemek için komutunu dotnet new install {package-id} kullanın:

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

Belirli bir sürüme sahip varsayılan NuGet akışından şablon paketi yüklemek için komutunu dotnet new install {package-id}::{version} kullanın:

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

Yerel NuGet paketi

Şablon paketi oluşturulduğunda bir nupkg dosyası oluşturulur. Şablon içeren bir nupkg dosyanız varsa, şu komutla dotnet new install {path-to-package} yükleyebilirsiniz:

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

Klasör

Nupkg dosyasından şablon yüklemeye alternatif olarak, doğrudan komutuyla bir klasörden dotnet new install {folder-path} de şablon yükleyebilirsiniz. Belirtilen klasör, bulunan herhangi bir şablon için şablon paketi tanımlayıcısı olarak değerlendirilir. Belirtilen klasörün hiyerarşisinde bulunan tüm şablonlar yüklenir.

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

{folder-path} Komutta belirtilen, bulunan tüm şablonlar için şablon paketi tanımlayıcısı olur. Şablon paketlerini listele bölümünde belirtildiği gibi komutuyla yüklenen şablon paketlerinin dotnet new uninstall listesini alabilirsiniz. Bu örnekte, şablon paketi tanımlayıcısı yükleme için kullanılan klasör olarak gösterilir:

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

Şablon paketini kaldırma

Şablon paketleri kaldırma SDK'sı dotnet new komutuyla kaldırılır . Şablon paketinin NuGet paket tanımlayıcısını veya şablon dosyalarını içeren bir klasörü sağlayabilirsiniz.

NuGet paketi

NuGet akışından veya nupkg dosyasından bir NuGet şablon paketi yüklendikten sonra, NuGet paket tanımlayıcıya başvurarak bu paketi kaldırabilirsiniz.

Şablon paketini kaldırmak için komutunu dotnet new uninstall {package-id} kullanın:

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

Klasör

Şablonlar bir klasör yolu üzerinden yüklendiğinde, klasör yolu şablon paketi tanımlayıcısı olur.

Şablon paketini kaldırmak için komutunu dotnet new uninstall {package-folder-path} kullanın:

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

Şablon paketlerini listeleme

Standart kaldırma komutunu paket tanımlayıcısı olmadan kullanarak, yüklü şablon paketlerinin listesini ve her şablon paketini kaldıran komutu görebilirsiniz.

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

Diğer SDK'lardan şablon paketleri yükleme

SDK'nın her sürümünü sıralı olarak yüklediyseniz, örneğin SDK 6.0'ı, ardından SDK 7.0'ı vb. yüklediyseniz, her SDK'nın şablonları yüklü olur. Ancak, 7.0 gibi daha sonraki bir SDK sürümüyle başlarsanız, yalnızca bu sürüme yönelik şablonlar dahil edilir. Diğer sürümlere yönelik şablonlar dahil değildir.

.NET şablonları NuGet'te kullanılabilir ve bunları diğer tüm şablonlarda olduğu gibi yükleyebilirsiniz. Daha fazla bilgi için bkz . NuGet barındırılan paketini yükleme.

SDK NuGet Paket Tanımlayıcısı
.NET Core 2.1 Microsoft.DotNet.Common.ProjectTemplates.2.1
.NET Core 2.2 Microsoft.DotNet.Common.ProjectTemplates.2.2
.NET Core 3.0 Microsoft.DotNet.Common.ProjectTemplates.3.0
.NET Core 3.1 Microsoft.DotNet.Common.ProjectTemplates.3.1
.NET 5.0 Microsoft.DotNet.Common.ProjectTemplates.5.0
.NET 6.0 Microsoft.DotNet.Common.ProjectTemplates.6.0
.NET 7.0 Microsoft.DotNet.Common.ProjectTemplates.7.0
.NET 8.0 Microsoft.DotNet.Common.ProjectTemplates.8.0
.NET 9.0 Microsoft.DotNet.Common.ProjectTemplates.9.0
ASP.NET Core 2.1 Microsoft.DotNet.Web.ProjectTemplates.2.1
ASP.NET Core 2.2 Microsoft.DotNet.Web.ProjectTemplates.2.2
ASP.NET Core 3.0 Microsoft.DotNet.Web.ProjectTemplates.3.0
ASP.NET Core 3.1 Microsoft.DotNet.Web.ProjectTemplates.3.1
ASP.NET Core 5.0 Microsoft.DotNet.Web.ProjectTemplates.5.0
ASP.NET Core 6.0 Microsoft.DotNet.Web.ProjectTemplates.6.0
ASP.NET Core 7.0 Microsoft.DotNet.Web.ProjectTemplates.7.0
ASP.NET Core 8.0 Microsoft.DotNet.Web.ProjectTemplates.8.0
ASP.NET Core 9.0 Microsoft.DotNet.Web.ProjectTemplates.8.0

Örneğin, .NET 9 SDK'sı .NET 9'a yönelik bir konsol uygulaması için şablonlar içerir. .NET Core 3.1'i hedeflemek istiyorsanız 3.1 şablon paketini yüklemeniz gerekir.

  1. .NET Core 3.1'i hedefleyen bir uygulama oluşturmayı deneyin.

    dotnet new console --framework netcoreapp3.1
    

    Bir hata iletisi görürseniz şablonları yüklemeniz gerekir.

  2. .NET Core 3.1 proje şablonlarını yükleyin.

    dotnet new install Microsoft.DotNet.Common.ProjectTemplates.3.1
    
  3. Uygulamayı ikinci kez oluşturmayı deneyin.

    dotnet new console --framework netcoreapp3.1
    

    Ayrıca projenin oluşturulduğunu belirten bir ileti görmeniz gerekir.

    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.
    

Ayrıca bkz.