Aracılığıyla paylaş


Visual Studio 2015 ile .NET Standard ve .NET Framework paketleri oluşturma

Not: .NET Standard kitaplıkları geliştirmek için Visual Studio 2017 önerilir. Visual Studio 2015 çalışabilir, ancak .NET Core araçları yalnızca Önizleme durumuna getirilmiştir. NuGet 4.x+ ve Visual Studio 2017 ile çalışmak için bkz. Visual Studio 2017 ile paket oluşturma ve yayımlama.

.NET Standart Kitaplığı, tüm .NET çalışma zamanlarında kullanılabilir olması amaçlanan ve .NET ekosisteminde daha fazla tekdüzenlik oluşturan resmi bir .NET API'leri belirtimidir. .NET Standart Kitaplığı, iş yükünden bağımsız olarak tüm .NET platformları için tekdüzen bir BCL (Temel Sınıf Kitaplığı) API'leri kümesi tanımlar. Geliştiricilerin tüm .NET çalışma zamanlarında kullanılabilen kodlar oluşturmasına olanak tanır ve yoksa paylaşılan koddaki platforma özgü koşullu derleme yönergelerini ortadan kaldırır.

Bu kılavuz, .NET Standard Library 1.4'i hedefleyen bir NuGet paketi veya 4.6 .NET Framework hedefleyen bir paket oluşturma işleminde size yol gösterir. .NET Standard 1.4 kitaplığı .NET Framework 4.6.1, Evrensel Windows Platformu 10, .NET Core ve Mono/Xamarin'de çalışır. Ayrıntılar için bkz. .NET Standart eşleme tablosu (.NET belgeleri). İsterseniz .NET Standart Kitaplığı'nın başka bir sürümünü seçebilirsiniz.

Önkoşullar

  1. Visual Studio 2015 Güncelleştirme 3

  2. (Yalnızca.NET Standard) .NET Core SDK'sı

  3. CLI'NuGet. nuget.org/downloads nuget.exe en son sürümünü indirin ve istediğiniz konuma kaydedin. Ardından, henüz değilse path ortam değişkeninize bu konumu ekleyin.

    Not

    nuget.exe, yükleyici değil CLI aracının kendisidir, bu nedenle indirilen dosyayı çalıştırmak yerine tarayıcınızdan kaydettiğinizden emin olun.

Sınıf kitaplığı projesini oluşturma

  1. Visual Studio Dosya > Yeni > ProjectVisual C# > Windows düğümünü genişletin, Sınıf Kitaplığı (Taşınabilir)'i seçin, adı AppLogger olarak değiştirin ve Tamam'ı seçin.

    Create new class library project

  2. Görüntülenen Taşınabilir Sınıf Kitaplığı Ekle iletişim kutusunda ve ASP.NET Core 1.0seçeneklerini .NET Framework 4.6 belirleyin. (hedefleme .NET Framework uygun seçenekleri belirleyebilirsiniz.)

  3. .NET Standard'ı hedefliyorsanız, Çözüm Gezgini sağ tıklayınAppLogger (Portable), Özellikler'i seçin, Kitaplık sekmesini seçin ve hedefleme bölümündeHedef .NET Platform Standardı'nı seçin. Bu eylem onay ister; bundan sonra açılan listeden (veya başka bir kullanılabilir sürüm) seçebilirsiniz .NET Standard 1.4 :

    Setting the target to .NET Standard 1.4

  4. Derleme sekmesine tıklayın, Yapılandırma'yı olarak Releasedeğiştirin ve XML belge dosyası kutusunu işaretleyin.

  5. Kodunuzu bileşene ekleyin, örneğin:

    namespace AppLogger
    {
        public class Logger
        {
            public void Log(string text)
            {
                Console.WriteLine(text);
            }
        }
    }
    
  6. Yapılandırmayı Release olarak ayarlayın, projeyi derleyin ve KLASÖR içinde DLL ve XML dosyalarının bin\Release üretilip üretildiğini denetleyin.

.nuspec dosyasını oluşturma ve güncelleştirme

  1. Bir komut istemi açın, klasörü içeren AppLogger.csproj klasöre gidin (dosyanın bulunduğu yerin .sln bir düzeyi) ve ilk AppLogger.nuspec dosyayı oluşturmak için NuGet spec komutunu çalıştırın:

    nuget spec
    
  2. Düzenleyicide açın AppLogger.nuspec ve YOUR_NAME uygun bir değerle değiştirerek aşağıdakiyle eşleşecek şekilde güncelleştirin. Özellikle değerin <id> nuget.org arasında benzersiz olması gerekir ( paket oluşturma bölümünde açıklanan adlandırma kurallarına bakın. Ayrıca yazar ve açıklama etiketlerini de güncelleştirmeniz gerektiğini veya paketleme adımı sırasında bir hatayla karşılaşırsınız.

    <?xml version="1.0"?>
    <package >
        <metadata>
        <id>AppLogger.YOUR_NAME</id>
        <version>1.0.0</version>
        <title>AppLogger</title>
        <authors>YOUR_NAME</authors>
        <owners>YOUR_NAME</owners>
        <requireLicenseAcceptance>false</requireLicenseAcceptance>
        <description>Awesome application logging utility</description>
        <releaseNotes>First release</releaseNotes>
        <copyright>Copyright 2018 (c) Contoso Corporation. All rights reserved.</copyright>
        <tags>logger logging logs</tags>
        </metadata>
    </package>
    
  3. Dosyaya, kitaplığın .nuspec DLL'sine ve IntelliSense XML dosyasına başvuru derlemeleri ekleyin:

    .NET Standard hedefliyse, girişler aşağıdakine benzer şekilde görünür:

    <!-- Insert below <metadata> element -->
    <files>
        <file src="bin\Release\AppLogger.dll" target="lib\netstandard1.4\AppLogger.dll" />
        <file src="bin\Release\AppLogger.xml" target="lib\netstandard1.4\AppLogger.xml" />
    </files>
    

    hedefleme .NET Framework, girişler aşağıdakine benzer şekilde görünür:

    <!-- Insert below <metadata> element -->
    <files>
        <file src="bin\Release\AppLogger.dll" target="lib\net46\AppLogger.dll" />
        <file src="bin\Release\AppLogger.xml" target="lib\net46\AppLogger.xml" />
    </files>
    
  4. Çözüme sağ tıklayın ve paketin tüm dosyalarını oluşturmak için Çözümü Derle'yi seçin.

Bağımlılıkları bildirme

Diğer NuGet paketlerine bağımlılıklarınız varsa, bunları bildirimin <dependencies> öğesinde öğelerle <group> listeleyin. Örneğin, NewtonSoft.Json 8.0.3 veya üzeri bir bağımlılığı bildirmek için aşağıdakileri ekleyin:

<!-- Insert within the <metadata> element -->
<dependencies>
    <group targetFramework="uap">
        <dependency id="Newtonsoft.Json" version="8.0.3" />
    </group>
</dependencies>

Buradaki sürüm özniteliğinin söz dizimi, sürüm 8.0.3 veya üzerinin kabul edilebilir olduğunu gösterir. Farklı sürüm aralıkları belirtmek için Paket sürümü oluşturma bölümüne bakın.

Benioku ekleme

Dosyanızı readme.txt oluşturun, proje kök klasörüne yerleştirin ve dosyaya .nuspec başvurun:

<?xml version="1.0"?>
<package >
    <metadata>...
    </metadata>
    <files>
    <file src="readme.txt" target="" />
    </files>
</package>

Visual Studio paket bir projeye yüklendiğinde görüntülenirreadme.txt. .NET Core projelerine veya bağımlılık olarak yüklenen paketlere yüklendiğinde dosya gösterilmez.

Bileşeni paketleme

Tamamlandıktan .nuspec sonra pakete eklemeniz gereken tüm dosyalara başvurmak için komutunu çalıştırmaya pack hazırsınız:

nuget pack AppLogger.nuspec

Bu, AppLogger.YOUR_NAME.1.0.0.nupkgoluşturur. Bu dosyayı NuGet Paket Gezgini gibi bir araçta açıp tüm düğümleri genişleterek aşağıdaki içerikleri görürsünüz (.NET Standard için gösterilmiştir):

NuGet Package Explorer showing the AppLogger package

İpucu

Dosya .nupkg yalnızca farklı bir uzantıya sahip bir ZIP dosyasıdır. Ayrıca paket içeriğini inceleyebilir ve ardından olarak değiştirebilirsiniz .nupkg.zip, ancak paketi nuget.org'a yüklemeden önce uzantıyı geri yüklemeyi unutmayın.

Paketinizi diğer geliştiricilerin kullanımına açmak için Paket yayımlama yönergelerini izleyin.

pack Mac OS X üzerinde Mono 4.4.2 gerektiğini ve Linux sistemlerinde çalışmadığını unutmayın. Mac'te, dosyadaki .nuspec Windows yol adlarını Unix stili yollara da dönüştürmeniz gerekir.