Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Universal Windows Platform (UWP) Windows 10 çalıştıran her cihaz için ortak bir uygulama platformu sağlar. Bu modelde UWP uygulamaları hem tüm cihazlar için ortak olan WinRT API'lerini hem de uygulamanın çalıştığı cihaz ailesine özgü API'leri (Win32 ve .NET dahil) çağırabilir.
Bu kılavuzda, hem Yönetilen hem de Yerel projelerde kullanılabilecek bir C# UWP bileşeni (XAML denetimi dahil) ile bir NuGet paketi oluşturacaksınız.
Önkoşullar
Visual Studio 2019. 2019 Community sürümünü visualstudio.com ücretsiz olarak yükleyin. Professional ve Enterprise sürümlerini de kullanabilirsiniz.
NuGet CLI.
nuget.exeen son sürümünü indirin ve aracı istediğiniz bir konuma kaydedin. (İndirme doğrudan.exedosyasıdır.) Araç dosyası konumunu, henüz eklenmediyse PATH ortam değişkeninize ekleyin. Daha fazla bilgi için bkz nuget.exe yükleme.
UWP Windows Runtime bileşeni oluşturma
Visual Studio File > Yeni > Project'yi seçin ve "uwp c#" araması yapın. Windows Runtime Bileşeni (Evrensel Windows) şablonunu seçin ve İleri'i seçin. Adı ImageEnhancer olarak değiştirin ve Oluştur'u seçin. İstendiğinde Hedef Sürüm ve En Düşük Sürüm için varsayılan değerleri kabul edin.
Solution Explorer'da projeye sağ tıklayın, Add > Yeni Öğe'i seçin, Templated Control öğesini seçin, adı AwesomeImageControl.cs olarak değiştirin ve Add öğesini seçin:
Solution Explorer'da projeye sağ tıklayın ve Properties. Özellikler sayfasında Build sekmesini seçin ve XML Belge Dosyası etkinleştirin:
Çözümün üzerine sağ tıklayın ve Toplu Derleme'yi seçin. Aşağıdaki görüntüde gösterildiği gibi beş derleme kutusunu seçin. Bu, bir derleme yaptığınızda, Windows tarafından desteklenen hedef sistemlerin her biri için tam bir yapıt kümesi oluşturmanızı sağlar.
Toplu Derleme iletişim kutusunda Derle'yi seçerek projeyi doğrulayın ve NuGet paketi için ihtiyacınız olan çıkış dosyalarını oluşturun.
Uyarı
Bu kılavuzda paket için hata ayıklama bileşenlerini kullanacaksınız. Hata ayıklama olmayan paket için, bunun yerine Toplu Derleme iletişim kutusundaki Yayın (Release) seçeneklerini denetleyin ve ardından gelen adımlarda elde edilen Yayın (Release) klasörlerine bakın.
.nuspec dosyasını oluşturma ve güncelleştirme
İlk .nuspec dosyayı oluşturmak için aşağıdaki adımları tamamlayın. Sonraki bölümler, diğer gerekli güncelleştirmelerde size yol gösterir.
Bir komut istemi açın ve çözüm dosyasını içeren
ImageEnhancer.csprojklasörün alt klasörü olması gereken dosyayı içeren klasöre göz atın.NuGet speckomutunu çalıştırarakImageEnhancer.nuspecdosyasını oluşturun. Dosyanın adı,.csrojdosyasının adından alınır.nuget specImageEnhancer.nuspecbir düzenleyicide açın ve aşağıdakilerle eşleşmesi için YOUR_NAME'i uygun bir değerle değiştirerek güncelleyin. $propertyName$ değerlerinin hiçbirini bırakmayın. Özellikle değerin<id>nuget.org genelinde 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>ImageEnhancer.YOUR_NAME</id> <version>1.0.0</version> <title>ImageEnhancer</title> <authors>YOUR_NAME</authors> <owners>YOUR_NAME</owners> <requireLicenseAcceptance>false</requireLicenseAcceptance> <description>Awesome Image Enhancer</description> <releaseNotes>First release</releaseNotes> <copyright>Copyright 2020</copyright> <tags>image enhancer imageenhancer</tags> </metadata> </package>
Uyarı
Genel tüketim için oluşturulan paketler için, bu etiketler başkalarının paketinizi bulmasına ve ne yaptığını anlamasına yardımcı olduğundan öğeye <tags> özellikle dikkat edin.
Pakete Windows meta verileri ekleme
Windows Runtime Bileşeni, genel kullanıma açık tüm türlerini açıklayan meta veriler gerektirir ve bu da diğer uygulamaların ve kitaplıkların bileşeni kullanmasına olanak tanır. Bu meta veriler, projeyi derlediğinizde oluşturulan ve NuGet paketinize eklenmesi gereken bir .winmd dosyasında bulunur. IntelliSense verilerine sahip bir XML dosyası da aynı anda oluşturulur ve eklenmelidir.
Aşağıdaki <files> düğümünü .nuspec dosyaya ekleyin.
<package>
<metadata>
...
</metadata>
<files>
<!-- WinMd and IntelliSense files -->
<file src="bin\Debug\ImageEnhancer.winmd" target="lib\uap10.0"/>
<file src="bin\Debug\ImageEnhancer.xml" target="lib\uap10.0"/>
</files>
</package>
XAML içeriği ekleme
Bileşeninize bir XAML denetimi eklemek için, denetim için varsayılan şablona sahip XAML dosyasını eklemeniz gerekir (proje şablonu tarafından oluşturulduğu gibi). Bu, şu bölümde de yer almaktadır <files> :
<?xml version="1.0"?>
<package >
<metadata>
...
</metadata>
<files>
...
<!-- XAML controls -->
<file src="Themes\Generic.xaml" target="lib\uap10.0\Themes"/>
</files>
</package>
Yerel uygulama kitaplıklarını ekleme
Bileşeninizin içinde ImageEnhancer türünün temel mantığı, her hedef çalışma zamanı için oluşturulan çeşitli ImageEnhancer.winmd derlemelerde (ARM, ARM64, x86 ve x64) yer alan yerel kodda yer alır. Bunları pakete eklemek için, ilgili .pri kaynak dosyalarıyla birlikte <files> bölümünde bunlara başvurun:
<?xml version="1.0"?>
<package >
<metadata>
...
</metadata>
<files>
...
<!-- WINMDs and resources -->
<file src="bin\ARM\Debug\ImageEnhancer.winmd" target="runtimes\win10-arm"/>
<file src="bin\ARM\Debug\ImageEnhancer.pri" target="runtimes\win10-arm"/>
<file src="bin\ARM64\Debug\ImageEnhancer.winmd" target="runtimes\win10-arm64"/>
<file src="bin\ARM64\Debug\ImageEnhancer.pri" target="runtimes\win10-arm64"/>
<file src="bin\x64\Debug\ImageEnhancer.winmd" target="runtimes\win10-x64"/>
<file src="bin\x64\Debug\ImageEnhancer.pri" target="runtimes\win10-x64"/>
<file src="bin\x86\Debug\ImageEnhancer.winmd" target="runtimes\win10-x86"/>
<file src="bin\x86\Debug\ImageEnhancer.pri" target="runtimes\win10-x86"/>
</files>
</package>
Son .nuspec
Son .nuspec dosyanız artık aşağıdaki gibi görünmelidir; burada yeniden YOUR_NAME uygun bir değerle değiştirilmelidir:
<?xml version="1.0"?>
<package >
<metadata>
<id>ImageEnhancer.YOUR_NAME</id>
<version>1.0.0</version>
<title>ImageEnhancer</title>
<authors>YOUR_NAME</authors>
<owners>YOUR_NAME</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>Awesome Image Enhancer</description>
<releaseNotes>First Release</releaseNotes>
<copyright>Copyright 2020</copyright>
<tags>image enhancer imageenhancer</tags>
</metadata>
<files>
<!-- WinMd and IntelliSense -->
<file src="bin\Debug\ImageEnhancer.winmd" target="lib\uap10.0"/>
<file src="bin\Debug\ImageEnhancer.xml" target="lib\uap10.0"/>
<!-- XAML controls -->
<file src="Themes\Generic.xaml" target="lib\uap10.0\Themes"/>
<!-- WINMDs and resources -->
<file src="bin\ARM\Debug\ImageEnhancer.winmd" target="runtimes\win10-arm"/>
<file src="bin\ARM\Debug\ImageEnhancer.pri" target="runtimes\win10-arm"/>
<file src="bin\ARM64\Debug\ImageEnhancer.winmd" target="runtimes\win10-arm64"/>
<file src="bin\ARM64\Debug\ImageEnhancer.pri" target="runtimes\win10-arm64"/>
<file src="bin\x64\Debug\ImageEnhancer.winmd" target="runtimes\win10-x64"/>
<file src="bin\x64\Debug\ImageEnhancer.pri" target="runtimes\win10-x64"/>
<file src="bin\x86\Debug\ImageEnhancer.winmd" target="runtimes\win10-x86"/>
<file src="bin\x86\Debug\ImageEnhancer.pri" target="runtimes\win10-x86"/>
</files>
</package>
Bileşeni paketleme
Tüm gerekli dosyaların .nuspec referansları tamamlandığında, nuget pack komutunu çalıştırmaya hazırsınız.
nuget pack ImageEnhancer.nuspec
Bu, ImageEnhancer.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:
Tavsiye
Dosya .nupkg , yalnızca farklı bir uzantıya sahip bir ZIP dosyasıdır. Paket içeriğini de inceleyebilir, ardından .nupkg'yı .zip olarak değiştirebilirsiniz, 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.