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.
WebMatrix için NuGet 2.6.1 Sürüm Notları | NuGet 2.7.1 Sürüm Notları
NuGet 2.7, 22 Ağustos 2013'te yayımlandı.
Teşekkür
Aşağıdaki dış katkıda bulunanlara NuGet 2.7'ye yaptıkları önemli katkılar için teşekkür ederiz:
-
[Mike Roth](http://www.codeplex.com/site/users/view/mxrss)(@mxrss)- Paketleri listelerken Lisans URL'sini göster ve ayrıntı seviyesini "Detaylı" olarak ayarla.
-
[Adam Ralph](http://www.codeplex.com/site/users/view/adamralph)(@adamralph)-
[#1956](http://nuget.codeplex.com/workitem/1956)-packages.configözniteliğine developmentDependency ekleyin ve bunu yalnızca çalışma zamanı paketlerini dahil etmek için pack komutunda kullanın
-
-
[Rafael Nicoletti](http://www.codeplex.com/site/users/view/tkrafael)(@tkrafael)- nuget.exe pack komutunda yinelenen Özellikler anahtarından kaçının.
-
[Ben Phegan](http://www.codeplex.com/site/users/view/benphegan)(@BenPhegan)-
[#2610](http://nuget.codeplex.com/workitem/2610)- Makine önbelleği boyutunu 200'e yükseltin.
-
-
[Slava Trenogin](http://www.codeplex.com/site/users/view/derigel)(@derigel)-
[#3217](http://nuget.codeplex.com/workitem/3217)- Yanlış sekmede güncelleştirmeleri gösteren NuGet iletişim kutusunu düzeltin - Project.TargetFramework ProjectManager'da null olabilir; bunu düzeltin.
-
[#3248](http://nuget.codeplex.com/workitem/3248)- SharedPackageRepository FindPackage/FindPackagesById'nin mevcut olmayan packageId'de başarısız olmasını düzeltme
-
-
[Kevin Boyle](http://www.codeplex.com/site/users/view/KevinBoyleRG)(@kevfromireland)-
[#3234](http://nuget.codeplex.com/workitem/3234)- Nomad projesi desteğini etkinleştirme
-
-
[Corin Blaikie](http://www.codeplex.com/site/users/view/corinblaikie)(@corinblaikie)-
[#3252](http://nuget.codeplex.com/workitem/3252)- Dosya mevcut olmadığında 0 çıkış koduyla anında iletme komutunun başarısız olduğunu düzeltin.
-
[Martin Veselý](http://www.codeplex.com/site/users/view/veselkamartin)-
[#3226](http://nuget.codeplex.com/workitem/3226)- Bir proje bir veritabanı projesine başvurduğunda Add-BindingRedirect komutuyla ilgili hatayı düzeltin.
-
-
[Miroslav Bajtos](http://www.codeplex.com/site/users/view/miroslavbajtos)(@bajtos)-
[#2891](http://nuget.codeplex.com/workitem/2891)- 'exclude' özniteliğindeki joker karakterin nuget.pack tarafından yanlış ayrıştırılma hatasını düzeltme.
-
-
[Justin Dearing](http://www.codeplex.com/site/users/view/zippy1981)(@zippy1981)-
[#3307](http://nuget.codeplex.com/workitem/3307)- Paketleri geri yüklerken $(Platform) nuget.exe'e geçmez hatasınıNuGet.targetsdüzeltir.
-
[Brian Federici](http://www.codeplex.com/site/users/view/benerdin)-
[#3294](http://nuget.codeplex.com/workitem/3294)- nuget.exe paket komutunda, aynı ada ancak farklı büyük/küçük harfe sahip dosyaların eklenmesine izin vererek "Öğe zaten var" istisnasına sebep olan hata düzeltildi.
-
-
[Daniel Cazzulino](http://www.codeplex.com/site/users/view/dcazzulino)(@kzu)-
[#2990](http://nuget.codeplex.com/workitem/2990)- NetPortableProfile sınıfına Version özelliği ekleyin.
-
[David Simner](https://www.codeplex.com/site/users/view/DavidSimner)-
[#3460](https://nuget.codeplex.com/workitem/3460)- NullReferenceException hatasını düzeltin; RequireApiKey = true, ancak X-NUGET-APIKEY üst bilgisi bulunmuyorsa
-
-
[Michael Friis](https://www.codeplex.com/site/users/view/friism)(@friism)-
[#3278](https://nuget.codeplex.com/workitem/3278)- MonoDevelop'ta düzgün çalışması için NuGet.Build targets dosyasını düzeltir
-
-
[Pranav Krishnamoorthy](https://www.codeplex.com/site/users/view/pranavkm)(@pranav_km)- Paralelleştirmeyi artırarak Geri Yükleme komut performansını geliştirme
Sürümdeki önemli özellikler
Varsayılan Olarak Paket Geri Yükleme (örtük onay ile)
NuGet 2.7, paket geri yükleme için yeni bir yaklaşım sunar ve ayrıca büyük bir engelin üstesinden gelir: Paket geri yükleme onayı artık varsayılan olarak açıktır! Yeni yaklaşımın ve örtük onayın birleşimi, paket geri yükleme senaryolarını önemli ölçüde basitleştirecektir.
Örtük Onay
NuGet sürüm 2.0, 2.1, 2.2, 2.5 ve 2.6 ile kullanıcıların derleme sırasında NuGet'in eksik paketleri indirmesine açıkça izin vermeleri gerekiyordu. Bu izin açıkça verilmemişse, kullanıcı izin verene kadar paket geri yüklemeyi etkinleştiren çözümler derlenemeyecekti.
NuGet 2.7'den başlayarak, visual studio'daki NuGet ayarlarındaki onay kutusunu kullanarak kullanıcıların istenirse paket geri yüklemesini açıkça geri çevirmesine izin verirken, paket geri yükleme onayı varsayılan olarak AÇIK olur. Bu örtük onay değişikliği, aşağıdaki ortamlardaKi NuGet'i etkiler:
- Visual Studio 2013 Preview
- Visual Studio 2012
- Visual Studio 2010
- nuget.exe Komut Satırı Yardımcı Programı
Visual Studio'da Otomatik Paket Geri Yükleme
NuGet 2.7'den başlayarak, çözüm için paket geri yükleme açıkça etkinleştirilmemiş olsa bile NuGet, Visual Studio'da derleme sırasında eksik paketleri otomatik olarak indirir. Bu Otomatik Paket Geri Yükleme, bir proje veya çözüm oluşturduğunuzda ancak MSBuild çağrılmadan önce Visual Studio'da gerçekleşir. Bu, birkaç önemli avantaj sağlar:
- Çözümünüzde "NuGet Paketi Geri Yüklemesini Etkinleştir" hareketini kullanmanıza gerek yok
- Projelerin değiştirilmesi gerekmez ve NuGet paket geri yüklemenin etkinleştirildiğinden emin olmak için projenizde değişiklik yapmaz
- MSBuild bağımlılıkları içerenler de dahil olmak üzere tüm NuGet paketleri, MSBuild çağrılmadan önce geri yüklenecek ve bu özellikler/hedeflerin derleme sırasında düzgün bir şekilde tanınması sağlanacaktır
Visual Studio'da Otomatik Paket Geri Yükleme'yi kullanmak için yalnızca bir (içinde) eylem gerçekleştirmeniz yeterlidir:
-
packagesklasörünüzü kontrol etmeyin
Klasörünüzü kaynak denetiminden çıkarmanın packages birkaç yolu vardır. Daha fazla bilgi için Paketler ve Kaynak Denetimi konusuna bakın.
Tüm kullanıcılar otomatik paket geri yükleme iznini örtük olarak kabul etse de, Visual Studio'daki Paket Yöneticisi ayarları aracılığıyla kolayca geri çevirebilirsiniz.
Komut Satırından Basitleştirilmiş Paket Geri Yükleme
NuGet 2.7, nuget.exeiçin yeni bir özellik tanıtır: nuget.exe restore
Bu yeni Geri Yükle komutu, bir çözüm dosyasını veya klasörünü bağımsız değişken olarak kabul ederek tek bir komutla bir çözüm için tüm paketleri kolayca geri yüklemenize olanak tanır. Ayrıca, mevcut klasörde yalnızca bir çözüm olduğunda bu ifade ima edilir. Bu, aşağıdakilerin tümünün tek bir çözüm dosyası (MySolution.sln) içeren bir klasörden çalıştığı anlamına gelir:
- nuget.exe MySolution.sln geri yükleme
- nuget.exe geri yükleyin.
- nuget.exe geri yükle
Geri Yükle komutu çözüm dosyasını açar ve çözümdeki tüm projeleri bulur. Buradan, projelerin packages.config her biri için dosyaları bulur ve bulunan tüm paketleri geri yükler. Ayrıca dosyada .nuget\packages.config bulunan çözüm düzeyinde paketleri de geri yükler. Yeni Geri Yükleme komutu hakkında daha fazla bilgi Komut Satırı Başvurusu'nda bulunabilir.
Yeni Paket Geri Yükleme İş Akışı
Paket Geri Yükleme'de yapılan bu değişiklikler, yeni bir iş akışına neden olduğu için heyecanlıyız. Paketlerinizi kaynak denetiminden hariç tutmak istiyorsanız, packages klasörünü saklamıyorsunuz. Visual Studio kullanıcıları, çözümü açtıklarında ve oluşturduklarında paketlerin otomatik olarak geri yüklendiğini görecekler. Komut satırı derlemesi için, nuget.exe restore çağrıldıktan sonra msbuild çağırmanız yeterlidir. Artık çözümünüzde "NuGet Paketi Geri Yüklemesini Etkinleştir" hareketini kullanmayı hatırlamanız gerekmez ve artık derlemeyi değiştirmek için projelerinizi değiştirmemiz gerekmez. Ayrıca bu, MSBuild içeri aktarmalarını içeren paketler için, özellikle NuGet'in \build klasöründen props/targets dosyalarını otomatik olarak içeri aktarmaya yönelik son özelliği aracılığıyla eklenen içeri aktarmalar için çok daha iyi bir deneyim sunar.
Kendi yaptığımız çalışmalara ek olarak, bazı önemli iş ortaklarıyla da bu yeni yaklaşımı ortaya çıkarmak için çalışıyoruz. Henüz bunların hiçbiri için somut zaman çizelgelerimiz yok, ancak her ortak yeni yaklaşımla ilgili olduğumuz kadar heyecanlı.
- Team Foundation Hizmeti - Onlar,
nuget.exe restoreçağrısının varsayılan derleme senaryolarıyla bütünleştirilmesi için çalışmaktadır. - Windows Azure Web Siteleri - Projenizi Azure'a göndermenize ve web siteniz oluşturulmadan önce
nuget.exe restoreçağrılmasına olanak sağlamak için çalışıyorlar. - TeamCity - TeamCity 8.x için NuGet Yükleyici eklentilerini güncelleştiriyorlar
- AppHarbor - Depoyu AppHarbor'a göndermenize ve
nuget.exe restoreçözümünüz oluşturulmadan önce çağrılmasına olanak sağlamak için çalışıyorlar.
Yukarıdaki ortakların her biri kendi nuget.exe kopyasını kullanır ve çözümünüzde nuget.exe taşımanız gerekmez.
Bilinen Sorunlar
İlk 2.7 sürümüyle nuget.exe geri yüklemeyle ilgili bilinen iki sorun vardı, ancak bunlar 6/9/2013 tarihinde NuGet.CommandLine paketine yapılan güncelleştirmeyle düzeltildi. Bu güncelleştirme CodePlex'te [NuGet 2.7 download page](https://nuget.codeplex.com/releases/view/107605) de kullanılabilir.
nuget.exe update -self çalıştırmak en son sürüme günceller.
Düzeltmeler:
[New package restore doesn't work on Mono when using SLN file](https://nuget.codeplex.com/workitem/3596)[New package restore doesn't work with Wix projects](https://nuget.codeplex.com/workitem/3598)
Yeni paket geri yükleme iş akışında da bilinen bir sorun vardır.[Automatic Package Restore does not work for projects under a solution folder](https://nuget.codeplex.com/workitem/3625) Bu sorun NuGet 2.7.1'de düzeltildi.
Proje Yeniden Hedefleme ve Yükseltme Derleme Hataları/Uyarıları
Projenizi yeniden hedefledikten veya yükselttikten sonra birçok kez bazı NuGet paketlerinin düzgün çalışmadığını fark edersiniz. Ne yazık ki, bunun hiçbir göstergesi yoktur ve ardından nasıl ele alındığını gösteren bir kılavuz yoktur. NuGet 2.7 ile artık bazı Visual Studio olaylarını kullanarak projenizi ne zaman yeniden hedeflediğiniz veya yükselttiğinizi yüklü NuGet paketlerinizi etkileyecek şekilde algılıyoruz.
Paketlerinizden herhangi birinin yeniden hedefleme veya yükseltmeden etkilendiğini algılarsak, size bildirmek için anında derleme hataları oluştururuz. Anında derleme hatasına ek olarak, yeniden hedeflemeden etkilenen tüm paketler için dosyanızda requireReinstallation="true" bir packages.config bayrak da kalıcı hale getirmekteyiz ve Visual Studio'daki sonraki her derleme bu paketler için derleme uyarıları oluşturacaktır.
NuGet, etkilenen paketleri yeniden yüklemek için otomatik işlem gerçekleştiremese de, bu gösterge ve uyarının paketleri ne zaman yeniden yüklemeniz gerektiğini keşfetmenize yardımcı olacağını umuyoruz. Bu hata iletilerinin sizi yönlendirdiğini paket yeniden yükleme kılavuzu belgeleri üzerinde de çalışıyoruz.
NuGet Yapılandırma Varsayılanları
Birçok şirket NuGet'i şirket içinde kullanıyor, ancak geliştiricilerine nuget.org yerine iç paket kaynaklarını kullanmaları için yol göstermekte zorlanıyor. NuGet 2.7, aşağıdakiler için makine genelinde varsayılan değerlerin belirtilmesine olanak tanıyan bir Yapılandırma Varsayılanları özelliği sağlar:
- Etkin paket kaynakları
- Kayıtlı ama devre dışı bırakılmış paket kaynakları
- Varsayılan nuget.exe gönderme kaynağı
Bunların her biri artık konumunda %ProgramData%\NuGet\NuGetDefaults.Configbulunan bir dosya içinde yapılandırılabilir. Bu yapılandırma dosyası paket kaynaklarını belirtiyorsa, varsayılan nuget.org paket kaynağı otomatik olarak kaydedilmez ve bunun yerine içindekiler NuGetDefaults.Config kaydedilir.
Bu özelliği kullanmak için gerekli olmasa da, şirketlerin Grup İlkesi'ni kullanarak dosya dağıtmasını NuGetDefaults.Config bekliyoruz.
Bu özelliğin hiçbir zaman bir paket kaynağının geliştiricinin NuGet ayarlarından kaldırılmasına neden olmadığını unutmayın. Başka bir deyişle, geliştirici NuGet'i zaten kullandıysa ve bu nedenle nuget.org paket kaynağını kaydettiyse, dosya NuGetDefaults.Config oluşturulduktan sonra kaldırılmaz.
Bu özellik hakkında daha fazla bilgi için bkz. NuGet Yapılandırma Varsayılanları .
Varsayılan Paket Kaynağını Yeniden Adlandırma
NuGet daima nuget.org adresine işaret eden "NuGet resmi paket kaynağı" adlı varsayılan paket kaynağını kaydetmiştir. Bu ad fazla uzundu ve tam olarak nereye işaret ettiğini belli etmiyordu. Bu iki sorunu çözmek için bu paket kaynağını kullanıcı arabiriminde yalnızca "nuget.org" olarak yeniden adlandırdık. Paket kaynağının URL'si de "www." ön ekini içerecek şekilde değiştirildi. NuGet 2.7'yi kullandıktan sonra, mevcut "NuGet resmi paket kaynağınız" otomatik olarak adı "nuget.org" ve URL'si olarak "https://www.nuget.org/api/v2/" olarak güncelleştirilir.
Performans Geliştirmeleri
2.7'de daha küçük bellek ayak izi, daha az disk kullanımı ve daha hızlı paket yüklemesi sağlayacak bazı performans iyileştirmeleri yaptık. Ayrıca OData tabanlı akışlarda genel yükü azaltacak daha akıllı sorgular da yaptık.
Yeni Genişletilebilirlik API'leri
Önceki sürümlerde eksik işlevler boşluğunu doldurmak için genişletilebilirlik hizmetlerimize bazı yeni API'ler ekledik.
IVsPackageInstallerServices
// Checks if a NuGet package with the specified Id and version is installed in the specified project.
bool IsPackageInstalledEx(Project project, string id, string versionString);
// Get the list of NuGet packages installed in the specified project.
IEnumerable<IVsPackageMetadata> GetInstalledPackages(Project project);
IVsPackageInstaller
// Installs one or more packages that exist on disk in a folder defined in the registry.
void InstallPackagesFromRegistryRepository(string keyName, bool isPreUnzipped, bool skipAssemblyReferences, Project project, IDictionary<string, string> packageVersions);
// Installs one or more packages that are embedded in a Visual Studio Extension Package.
void InstallPackagesFromVSExtensionRepository(string extensionId, bool isPreUnzipped, bool skipAssemblyReferences, Project project, IDictionary<string, string> packageVersions);
Sadece Geliştirme Bağımlılıkları
Bu özellik Adam Ralph tarafından katkıda bulunmuştur ve paket yazarlarının yalnızca geliştirme zamanında kullanılan ve paket bağımlılıkları gerektirmeyen bağımlılıkları bildirmesine olanak tanır.
packages.config içinde bulunan bir pakete developmentDependency="true" özniteliği eklendiğinde, nuget.exe pack artık bu paketi bağımlılık olarak dahil etmeyecektir.
Windows Phone için Visual Studio 2010 Express desteği kaldırıldı
2.7 sürümündeki yeni paket geri yükleme modeli, ana NuGet VSPackage'dan farklı olan yeni bir VSPackage tarafından uygulanır. Teknik bir sorun nedeniyle, aynı kod tabanını desteklenen diğer Visual Studio SKU'larıyla paylaştığımız için bu yeni VSPackage Windows Phone için Visual Studio 2010 Express SKU'da düzgün çalışmıyor. Bu nedenle NuGet 2.7'den başlayarak yayımlanan uzantıdan Windows Phone için Visual Studio 2010 Express desteğini bırakıyoruz. Web için Visual Studio 2010 Express desteği, Visual Studio Uzantı Galerisi'nde yayımlanan birincil uzantıya eklenmiştir.
Visual Studio'nun bu sürümünde/sürümünde nuGet kullanmaya devam eden geliştirici sayısından emin olmadığımız için, bu kullanıcılar için özel olarak ayrı bir Visual Studio uzantısı yayımlıyoruz ve bunu CodePlex'te (Visual Studio Uzantı Galerisi yerine) yayımlıyoruz. Bu uzantıyı sürdürmeyi planlamıyoruz, ancak bu durum sizi etkiliyorsa lütfen CodePlex'te bir sorun bildirerek bize bildirin.
NuGet Paket Yöneticisi'ni indirmek için (Windows Phone için Visual Studio 2010 Express için) sayfayı ziyaret edin [NuGet 2.7 Downloads](https://nuget.codeplex.com/releases/view/107605) .
Hata Düzeltmeleri
Bu özelliklere ek olarak, NuGet'in bu sürümü diğer birçok hata düzeltmesini de içerir. Sürümde ele alınan toplam 97 sorun vardı. NuGet 2.7'de düzeltilen iş öğelerinin tam listesini görmek için lütfen [NuGet Issue Tracker for this release](https://nuget.codeplex.com/workitem/list/advanced?release=NuGet%202.7&status=all) öğesini görüntüleyin.