Aracılığıyla paylaş


Eğitici: Bir proje şablonu oluşturun

.NET ile proje, dosya ve kaynak oluşturan şablonlar oluşturabilir ve dağıtabilirsiniz. Bu kılavuz, dotnet new komutuyla kullanmak üzere şablon oluşturmayı, yüklemeyi ve kaldırmayı öğreten bir serinin ikinci bölümüdür.

Tavsiye

.NET SDK ile birlikte gönderilen resmi .NET şablonları aşağıdaki depolarda bulunabilir:

Şablonlar Depo
Konsol, sınıf kitaplığı ve ortak öğe şablonları dotnet/sdk
ASP.NET ve Blazor şablonları dotnet/aspnetcore
ASP.NET Tek Sayfalı Uygulama şablonları dotnet/spa-templates
WPF şablonları dotnet/wpf
Windows Forms şablonları dotnet/winforms
Test şablonları dotnet/test-templates
MAUI şablonları dotnet/maui

komutunu çalıştırarak dotnet new list makinenize yüklenen şablonları görüntüleyebilirsiniz.

Serinin bu bölümünde şunların nasıl yapılacağını öğreneceksiniz:

  • Proje şablonunun kaynaklarını oluşturun.
  • Şablon yapılandırma klasörünü ve dosyasını oluşturun.
  • Dosya yolundan şablon yükleyin.
  • Öğe şablonunu test edin.
  • Öğe şablonunu kaldırın.

Önkoşullar

  • .NET 9 veya sonraki bir sürüm.

  • Bu öğretici serisinin 1. bölümünü tamamlayın.

  • Bir terminal açın ve working\content klasörüne gidin.

Proje şablonu oluşturma

Proje şablonları, kullanıcıların çalışan bir kod kümesiyle başlamasını kolaylaştıran, çalışmaya hazır projeler oluşturur. .NET, konsol uygulaması veya sınıf kitaplığı gibi birkaç proje şablonu içerir. Bu örnekte, standart "Hello World" konsol çıkışını zaman uyumsuz olarak çalışan bir konsol uygulamasıyla değiştiren yeni bir konsol uygulaması projesi oluşturursunuz.

Terminalinizde working\content klasörüne gidin ve consoleasync adlı yeni bir alt klasör oluşturun. Alt klasörü girin ve standart konsol uygulamasını oluşturmak için komutunu çalıştırın dotnet new console . Yeni bir şablon oluşturmak için bu şablon tarafından üretilen dosyaları düzenleyin.

working
└───content
    └───consoleasync
            consoleasync.csproj
            Program.cs

Program.cs değiştir

Program.cs dosyasını açın. Standart konsol projesi, konsol çıkışına asenkron olarak yazmaz, bu yüzden asenkron yazma özelliğini ekleyin. Kodu aşağıdakiyle değiştirin ve dosyayı kaydedin:

// See https://aka.ms/new-console-template for more information
await Console.Out.WriteAsync("Hello World with C#");

Artık şablonun içeriğini oluşturduğunuza göre, şablonun kök klasöründe şablon yapılandırmasını oluşturmanız gerekir.

Şablon yapılandırmasını oluşturma

Bu öğreticide şablon klasörünüz working\content\consoleasync konumundadır.

Şablon klasörünüzün kökünde özel bir klasör ve yapılandırma dosyası olduğundan şablonlar .NET tarafından tanınır.

İlk olarak, .template.configadlı yeni bir alt klasör oluşturun ve girin. Ardından template.jsonadlı yeni bir dosya oluşturun. Klasör yapınız şu şekilde görünmelidir:

working
└───content
    └───consoleasync
        └───.template.config
                template.json

sık kullandığınız metin düzenleyicisiyle template.json açın ve aşağıdaki json kodunu yapıştırın ve kaydedin.

{
  "$schema": "http://json.schemastore.org/template",
  "author": "Me",
  "classifications": [ "Common", "Console" ],
  "identity": "ExampleTemplate.AsyncProject",
  "name": "Example templates: async project",
  "shortName": "consoleasync",
  "sourceName":"consoleasync",
  "tags": {
    "language": "C#",
    "type": "project"
  }
}

Bu yapılandırma dosyası, şablonunuzun tüm ayarlarını içerir. Temel ayarları, name ve shortName gibi görebilirsiniz, ayrıca project olarak ayarlanmış bir tags/type değeri de vardır. Bu, şablonunuzu "proje" şablonu olarak kategorilere ayırır. Oluşturduğunuz şablon türüyle ilgili bir kısıtlama yoktur. item ve project değerleri, kullanıcıların aradıkları şablon türünü kolayca filtreleyebilmeleri için .NET tarafından önerilen yaygın adlardır.

Öğe sourceName , kullanıcı şablonu kullandığında değiştirilen öğedir. Yapılandırma dosyasındaki değeri sourceName her dosya adında ve dosya içeriğinde aranılır ve varsayılan olarak geçerli klasörün adıyla değiştirilir. -n veya --name parametresi komutuyla dotnet new geçirildiğinde, sağlanan değer geçerli klasör adı yerine kullanılır. Bu şablon söz konusu olduğunda, consoleasync.csproj dosyasının adıyla değiştirilir.

öğe, classifications çalıştırdığınızda ve şablonların listesini aldığınızda gördüğünüz dotnet new sütununu temsil eder. Kullanıcılar sınıflandırma etiketlerine göre de arama yapabilir. tags dosyasındaki özelliği etiketler listesiyle karıştırmayınclassifications. Bunlar ne yazık ki aynı adlı iki farklı kavramdır. template.json dosyasının tam şeması JSON Şema Deposu'nda bulunur ve template.jsonbaşvurusu bölümünde açıklanmıştır. template.json dosyası hakkında daha fazla bilgi için dotnet templating wiki'sine bakın.

Artık geçerli bir .template.config/template.json dosyanız olduğuna göre, şablonunuz yüklenmeye hazırdır. Şablonu yüklemeden önce, bölme veyaobj klasörleri gibi, şablonunuzda yer almasını istemediğiniz ek klasörleri ve dosyaları sildiğinizden emin olun. Terminalinizde consoleasync klasörüne gidin ve geçerli klasörde bulunan şablonu yüklemek için komutunu çalıştırın dotnet new install .\ . Linux veya macOS işletim sistemi kullanıyorsanız eğik çizgi kullanın: dotnet new install ./.

dotnet new install .\

Bu komut, yüklü şablonların bir listesini oluşturur ve bu liste sizinkileri içermelidir.

The following template packages will be installed:
   <root path>\working\content\consoleasync

Success: <root path>\working\content\consoleasync installed the following templates:
Templates                                         Short Name               Language          Tags
--------------------------------------------      -------------------      ------------      ----------------------
Example templates: async project                  consoleasync             [C#]              Common/Console

Proje şablonunu test etme

Artık bir proje şablonunu yüklediğinize göre, bunu test edin.

  1. Test klasörüne gidin.

  2. Aşağıdaki komutla, dotnet run komutunu kullanarak kolayca test edebileceğiniz çalışan bir proje oluşturan yeni bir konsol uygulaması oluşturun.

    dotnet new consoleasync -n MyProject
    

    Aşağıdaki çıkışı alırsınız.

    The template "Example templates: async project" was created successfully.
    
  3. Aşağıdaki komutu kullanarak projeyi çalıştırın.

    dotnet run
    

    Aşağıdaki çıkışı alırsınız.

    Hello World with C#
    

Tebrikler! .NET ile bir proje şablonu oluşturdunuz ve dağıttınız. Bu öğretici serisinin sonraki bölümüne hazırlanırken, oluşturduğunuz şablonu kaldırın. Test klasöründeki tüm dosyaları da sildiğinizden emin olun. Böylece, bu öğretici serisinin bir sonraki bölümüne hazır bir temiz duruma geri dönersiniz.

Şablonu kaldırma

Terminalinizde consoleasync klasörüne gidin ve geçerli klasörde bulunan şablonu kaldırmak için aşağıdaki komutu çalıştırın:

  • Windows'da: dotnet new uninstall .\
  • Linux veya macOS'ta: dotnet new uninstall ./

Bu komut, kaldırılan şablonların bir listesini oluşturur ve bu liste sizinkileri de içerir.

Success: <root path>\working\content\consoleasync was uninstalled.

İstediğiniz zaman, her şablon paketi için kaldırma komutunun da dahil olduğu yüklü şablon paketlerinin listesini görmek için kullanabilirsiniz dotnet new uninstall .

Sonraki Adımlar

Bu öğreticide bir proje şablonu oluşturdunuz. Hem öğe hem de proje şablonlarını kullanımı kolay bir dosyada paketlemeyi öğrenmek için bu öğretici serisine devam edin.