NuGet.Server
NuGet. Sunucu, .NET Foundation tarafından sağlanan ve IIS çalıştıran herhangi bir sunucuda paket akışını barındırabilen bir ASP.NET uygulaması oluşturan bir pakettir. Basitçe söylemek gerekirse, NuGet. Sunucu, sunucudaki bir klasörü HTTP(S) (özellikle OData) aracılığıyla kullanılabilir hale getirir. Kurulumu kolaydır ve basit senaryolar için en iyisidir.
- Visual Studio'da boş bir ASP.NET Web uygulaması oluşturun ve NuGet ekleyin. Sunucu paketi.
- Uygulamadaki
Packages
klasörü yapılandırın ve paketler ekleyin. - Uygulamayı uygun bir sunucuya dağıtın.
Aşağıdaki bölümlerde C# kullanarak bu işlem ayrıntılı olarak izlenmiştir.
NuGet hakkında başka sorularınız varsa. sunucusunda bir sorun https://github.com/nuget/NuGetGallery/issuesoluşturun.
NuGet ile bir ASP.NET Web uygulaması oluşturun ve dağıtın. Sunucu
Visual Studio'da Dosya > Yeni > Project'ı seçin, "ASP.NET Web Uygulaması (.NET Framework)" araması yapın, C# için eşleşen şablonu seçin.
Çerçeve'yi ".NET Framework 4.6" olarak ayarlayın.
Uygulamaya NuGet dışında uygun bir ad verin. Sunucu, Tamam'ı seçin ve sonraki iletişim kutusunda Boş şablon'a tıklayın ve ardından Tamam'a tıklayın.
Projeye sağ tıklayın, NuGet Paketlerini Yönet'i seçin.
Paket Yöneticisi kullanıcı arabiriminde Gözat sekmesini seçin, ardından NuGet en son sürümünü arayın ve yükleyin. 4.6 .NET Framework hedefliyorsanız sunucu paketi. (bunu ile Paket Yöneticisi Konsolu'ndan
Install-Package NuGet.Server
da yükleyebilirsiniz.) İstenirse lisans koşullarını kabul edin.NuGet yükleniyor. Sunucu boş Web uygulamasını paket kaynağına dönüştürür. Çeşitli diğer paketleri yükler, uygulamada bir
Packages
klasör oluşturur ve ek ayarları içerecek şekilde değiştirirweb.config
(ayrıntılar için bu dosyadaki açıklamalara bakın).Önemli
NuGet sonra dikkatlice inceleyin
web.config
. Sunucu paketi, bu dosyada yaptığı değişiklikleri tamamladı. NuGet. Sunucu varolan öğelerin üzerine yazamayabilir, bunun yerine yinelenen öğeler oluşturabilir. Bu yinelenenler, daha sonra projeyi çalıştırmayı denediğinizde "İç Sunucu Hatasına" neden olur. Örneğin, NuGet yüklemeden önce içeriğinizweb.config
<compilation debug="true" targetFramework="4.5.2" />
varsa. Sunucu, paket üzerine yazmaz ancak ikinci<compilation debug="true" targetFramework="4.6" />
bir ekler. Bu durumda, eski çerçeve sürümüne sahip öğesini silin.Siteyi Visual Studio yerel olarak çalıştırın (Hata Ayıklama Olmadan Hata Ayıklama > Başlat veya Ctrl+F5 tuşlarını kullanarak). Giriş sayfasında, aşağıda gösterildiği gibi paket akışı URL'leri sağlanır. Hatalar görürseniz, daha önce belirtildiği gibi yinelenen öğelerinizi
web.config
dikkatle inceleyin.Uygulamayı ilk kez çalıştırdığınızda NuGet. Sunucu, klasörü her paket için bir klasör içerecek şekilde yeniden yapılandırıyor
Packages
. Bu, performansı artırmak için NuGet 3.3 ile sunulan yerel depolama düzeniyle eşleşir. Daha fazla paket eklerken bu yapıyı izlemeye devam edin.Yerel dağıtımınızı test ettikten sonra, uygulamayı gerektiğinde başka bir iç veya dış siteye dağıtın.
öğesine dağıtıldıktan
http://<domain>
sonra, paket kaynağı için kullandığınız URL olacaktırhttp://<domain>/nuget
.
Akışa dışarıdan paket ekleme
Bir NuGet. Sunucu sitesi çalışıyor, içinde bir API anahtar değeri web.config
ayarlamanız koşuluyla nuget push kullanarak paket ekleyebilirsiniz.
NuGet yükledikten sonra. Sunucu paketi boş web.config
appSetting/apiKey
bir değer içeriyor:
<appSettings>
<add key="apiKey" value="" />
</appSettings>
Atlandığında apiKey
veya boş olduğunda, paketleri akışa gönderme devre dışı bırakılır.
Bu özelliği etkinleştirmek için değerini bir değere (ideal olarak güçlü bir parola) ayarlayın apiKey
ve değeriyle true
adlı appSettings/requireApiKey
bir anahtar ekleyin:
<appSettings>
<!-- Sets whether an API Key is required to push/delete packages -->
<add key="requireApiKey" value="true" />
<!-- Set a shared password (for all users) to push/delete packages -->
<add key="apiKey" value="" />
</appSettings>
Sunucunuz zaten güvenliyse veya api anahtarına ihtiyacınız yoksa (örneğin, yerel ekip ağında özel bir sunucu kullanırken) olarak false
ayarlayabilirsinizrequireApiKey
. Ardından sunucuya erişimi olan tüm kullanıcılar paketleri gönderebilir.
NuGet'dan başlayarak. Sunucu 3.0.0, paketleri gönderme URL'si olarak http://<domain>/nuget
değiştirildi. 3.0.0 sürümünden önce gönderme URL'si şeklindeydi http://<domain>/api/v2/package
.
NuGet 3.2.1 ve daha yeni sürümlerde /nuget
bu eski URL/api/v2/package
, başlangıç yapılandırmanızdaki (NuGetODataConfig.cs
varsayılan) seçenek aracılığıyla enableLegacyPushRoute: true
varsayılan olarak etkindir. Aynı projede birden çok akış barındırıldığında bu özelliğin çalışmadığını unutmayın.
Paketleri akıştan kaldırma
NuGet ile. Sunucu, nuget delete komutu, api anahtarını açıklamaya eklemeniz koşuluyla bir paketi depodan kaldırır.
Bunun yerine paketin listesini kaldırma davranışını değiştirmek istiyorsanız (paketi geri yükleme için kullanılabilir durumda bırakın), içindeki anahtarı web.config
true olarak değiştirinenableDelisting
.
Packages klasörünü yapılandırma
NuGet.Server
1.5 ve üzeri ile içindeki değerini web.config
kullanarak appSettings/packagesPath
paket klasörünü özelleştirebilirsiniz:
<appSettings>
<!-- Set the value here to specify your custom packages folder. -->
<add key="packagesPath" value="C:\MyPackages" />
</appSettings>
packagesPath
mutlak veya sanal bir yol olabilir.
Atlandığında veya boş bırakıldığında packagesPath
packages klasörü varsayılandır ~/Packages
.
Web uygulamasını yayımladığınızda paketleri kullanılabilir hale getirme
Uygulamayı bir sunucuda yayımladığınızda paketleri akışta kullanılabilir hale getirmek için, her .nupkg
bir dosyayı Packages
Visual Studio klasörüne ekleyin, ardından her birinin Oluşturma Eyleminiİçerik olarak ve Çıkış Dizinine Kopyala'yıher zaman Kopyala olarak ayarlayın:
Sürüm Notları
NuGet sürüm notları. Sunucu, GitHub yayın sayfasında bulunabilir. Bu, hata düzeltmeleri ve eklenen yeni özellikler hakkındaki ayrıntıları içerir.
NuGet. Sunucu desteği
NuGet kullanma hakkında ek yardım için. sunucusunda bir sorun https://github.com/nuget/NuGetGallery/issuesoluşturun.