İngilizce dilinde oku

Aracılığıyla paylaş


NuGet 4.8 Sürüm Notları

Visual Studio 2017 15.8 RTW , NuGet 4.8 işlevselliğiyle birlikte gelir.

Aynı işlevselliğin komut satırı sürümleri de kullanılabilir:

Özet: 4.8.0 Sürümündeki Yenilikler

  • NuGet.exe artık Windows 10 'da longfilenames - #6937'i destekliyor
  • Kimlik doğrulama eklentileri artık platformlar arası da dahil olmak üzere MsBuild, DotNet.exe, NuGet.exe ve Visual Studio'da çalışır. İlk nesil kimlik doğrulama eklentileri MsBuild, DotNet.exe'da desteklenmiyordu. Not: VS 2017 15.9 Önizleme derlemelerinde VSTS kimlik doğrulaması eklentisi bulunur. #6486
  • MsBuild'in SDK Çözümleyicisi artık NuGet'in bir parçası olarak derlenip VS için NuGet araçlarıyla yüklenir. Bu, sürümlerin eşitlenmesini önler. #6799
  • PackageReference artık DevelopmentDependency meta verilerini destekliyor - #4125

Özet: 4.8.2 Sürümündeki Yenilikler

  • Güvenlik Düzeltmesi: ~/.nuget içinde oluşturulan dosyalardaki izinler çok açık #7673 CVE-2019-0757

Bilinen sorunlar

İmzalı paketleri CI makinesine veya çevrimdışı ortama yükleme işlemi normalden uzun sürüyor

Sorun

Makine İnternet erişimini kısıtladıysa (CI/CD senaryosunda derleme makinesi gibi), imzalı bir nuget paketini yüklemek/geri yüklemek, iptal sunucularına ulaşılamadığından bir uyarı (NU3028) ile sonuçlanır. Bu beklenen bir durumdur. Ancak bazı durumlarda, paket yükleme/geri yükleme işlemi normalden daha uzun sürüyor gibi istenmeyen tartışmalar olabilir.

Geçici çözüm

İptal denetim modunu değiştirmek için bir ortam değişkeni sunduğumuz Visual Studio 15.8.4 ve NuGet.exe 4.8.1'e güncelleştirin. Ortam değişkeninin NUGET_CERT_REVOCATION_MODE olarak offline ayarlanması, NuGet'i sertifikanın iptal durumunu yalnızca önbelleğe alınmış sertifika iptal listesinde denetlemeye zorlar ve NuGet iptal sunucularına ulaşmaya çalışmaz. İptal denetimi modu olarak offlineayarlandığında, uyarı bir bilgiye indirilir.

Uyarı

Normal geçişler altında iptal denetim modunu çevrimdışına almak önerilmez. Bunun yapılması NuGet'in çevrimiçi iptal denetimini atlayıp önbelleğe alınmış sertifika iptal listesinde yalnızca çevrimdışı iptal denetimi gerçekleştirmesine neden olur ve bu da güncel olmayabilir. Bu, imzalama sertifikasının iptal edilmiş olabileceği, yüklenmeye/geri yüklenmeye devam edeceği, aksi takdirde iptal denetiminin başarısız olacağı ve yüklenmeyeceği paketler anlamına gelir.

Sağ Migrate packages.config to PackageReference... tıklama bağlam menüsünde bu seçenek kullanılamaz

Sorun

Bir proje ilk açıldığında, NuGet işlemi gerçekleştirilinceye kadar NuGet başlatılmamış olabilir. Bu, geçiş seçeneğinin veya Referencesüzerindeki sağ tıklama bağlam menüsünde gösterilmemesine packages.config neden olur.

Geçici çözüm

Aşağıdaki NuGet eylemlerinden herhangi birini gerçekleştirin:

  • Paket Yöneticisi kullanıcı arabirimini açma - Sağ tıklayın References veManage NuGet Packages...
  • Paket Yöneticisi Konsolunu açın - Kimden Tools > NuGet Package Manageröğesini seçinPackage Manager Console
  • NuGet geri yüklemesini çalıştırma - Çözüm Gezgini çözüm düğümüne sağ tıklayın veRestore NuGet Packages
  • NuGet geri yüklemesini de tetikleyen projeyi oluşturma

Artık geçiş seçeneğini görebilmeniz gerekir. Bu seçeneğin desteklenmediğini ve ASP.NET ve C++ proje türleri için gösterilmeyeceğini unutmayın. Not: Bu, VS 2017 15.9 Önizleme 3'te düzeltilmiştir

Bu sürümde giderilen sorunlar

Hatalar

İmzalama

  • İmzalama: İmzalı paketi çevrimdışı ortama yükleme #7008 -- 4.8.1'de düzeltildi
  • İmzalama: yanlış URL denetimi - #7174
  • İmzalama: RepositorySignatureVerifier'da paket bütünlüğünü denetlemek için paket deposunun ne zaman imzalandığı - #6926
  • "Paket Bütünlüğü denetimi başarısız oldu." iletisinde paket kimliği (ve hata kodu) olmalıdır - #6944
  • Depo imzalı paket doğrulama, farklı sertifika tarafından imzalanan paketlere izin veriyor - #6884
  • NuGet - İmzalama - Zaman damgası URL'si https:// olamaz mı? - #6871
  • NuSpec paketleme senaryosunda NullRef yapmayın, seçenekleri de geliştirin - #6866
  • İmzalama işaretine zaman damgası eklenirken imzalayan bilgileri güncelleştirilirken bellek geçersiz - #6840
  • İmzalama: CTL özel durumlarını kaldırma - #6794
  • İmzalama: contentUrl HTTPS olmalıdır - #6777
  • İmzalama: SignedPackageVerifierSettings.VSClientDefaultPolicy kullanılmadı - #6601

Paket

  • nuspec'i paketlemek için dotnet.exe kullanılırken geri yükleme ve derleme gerekli olmamalıdır - #6866
  • NuspecProperties içinde boş değiştirme belirteçlerine izin ver - #6722
  • NuspecProperties belirtildiğinde PackTask NullReferenceException oluşturur - #4649

Erişilebilirlik

  • [Erişilebilirlik] Paket düğmesinin altındaki 'Ön sürüm' dizesi PM kullanıcı arabirimindeki paket açıklamasıyla ele alınmıştır - #4504
  • [Erişilebilirlik] PM kullanıcı arabiriminde 'Microsoft Visual Studio Çevrimdışı Paketler' seçildiğinde paket kaynağı açılan listesi ve ayarlar düğmesi kesildi - #4502

PowerShell Yönetim Konsolu (PMC)

  • Update-Package PackageReference sürüm aralığını yoksayar - #6775
  • Update-Package -reinstall çözüm genelinde sorun - #3127
  • Update-Package [packagename] -reinstall yalnızca adlandırılmış paket yerine tüm paketleri yeniden yükler - #737
  • Paket Yöneticisi Konsolundan listelenmemiş NuGet paketine güncelleştirilebilir - #4553

Çeşitli

  • NuGet.Commandline nupkg dosyasını düzeltmek NuGet update self için semver2.0 olmamalıdır - #7116
  • NU1107 yükleme hatalarıyla ilgili deneyimleri geliştirme - #7107
  • GetAuthenticationCredentialRequest serileştirmesi yanlış - #6983
  • NuGet Visual Studio AsyncPackage kullanıcı arabirimi iş parçacığından başlatıldığında yüklenemiyor - #6976
  • Geri yükleme, project.json gerektiğini belirten yanıltıcı hatalar bildiriyor - #6959
  • Paket yöneticisi kullanıcı arabirimi: değişiklikleri önizleme, tamam düğmesi klavye tarafından otomatik olarak kullanılamaz - #6893
  • p2p başvuruları olan proje için RestoreSources yoksayıldı - #6776
  • .NET Framework şablonu kullanarak birim testi projesi oluşturmak packages.config ile eski proje modelini açar - #6736
  • paket bağımlılığını geçersiz kılmak için proje başvurusuna izin ver - #6536
  • MSBuild görevinde NoDefaultExcludes'i kullanıma sunma - #6450
  • "Tüm NuGet Önbelleklerini Temizle" durum iletisi pencere yeniden boyutlandırmada gizlenebilir - #5938

Bu sürümde düzeltildi tüm sorunların listesi