1 Visual Studio 2022 with.NET Core iş yüküyle yüklendi
Özet: 6.0.6 Sürümündeki Yenilikler
[Güvenlik]: Microsoft Güvenlik Danışmanlığı CVE-2024-0057 | NuGet İstemciSi Güvenlik Özelliğini Atlama Güvenlik Açığı - #12653
Özet: 6.0.5 Sürümündeki Yenilikler
[Güvenlik]: Microsoft Güvenlik Danışmanlığı CVE-2023-29337 | NuGet İstemcisi Uzaktan Kod Yürütme Güvenlik Açığı - #12653
Not
Linux'ta hataya neden olan bir davranış değişikliği vardır. NuGet'in çeşitli işlemleri sırasında geçici dosyaları depoladığı geçici klasör konumu olarak değiştirildi /tmp/NuGetScratch/tmp/NuGetScratch<username>. Örneğin User1 kullanıcısı için geçici klasör olacaktır /tmp/NuGetScratchUser1.
Özet: 6.0.3 Sürümündeki Yenilikler
[Güvenlik]: Microsoft Güvenlik Önerisi CVE-2022-41032 | .NET Ayrıcalıkların Yükseltilmesi Güvenlik Açığı - #12149
Not
Visual Studio 17.0, MSBuild 17.0 ve .NET 6.0 için NuGet.exe 6.0 veya üzeri gerekir.
Özet: 6.0.2 Sürümündeki Yenilikler
[Güvenlik]: Microsoft Güvenlik Önerisi CVE 2022-30184 | .NET Bilgilerinin Açığa Çıkması Güvenlik Açığı - #11883
Özet: 6.0.0 Sürümündeki Yenilikler
🎉 Bu, .NET 6.0'ı 🎉 hedefleyen NuGet paketleri için tam yazma ve geri yükleme desteği sunan ilk sürümdür
.NET 6 Desteği
NuGet 6.0, .NET 6.0'ı hedefleyen NuGet paketleri için tam yazma ve geri yükleme desteği sunan ilk sürümdür. Artık aşağıdaki hedef çerçeveleri hedefleyebilirsiniz:
net6.0
net6.0-windows
net6.0-android
net6.0-ios
net6.0-macos
net6.0-maccatalyst
net6.0-tvos
net6.0-tizen
.NET 6.0 hedeflerini bugün veya gelecekte nasıl görüneceğini bilmiyorsanız.NET 6.0 TFM belirtimini gözden geçirin.
Kaynak Eşleme
Bu yılın başlarında, birçok paket yöneticisi bir kullanıcının hedefledikleri bağımlılık yerine kötü amaçlı bir bağımlılığı yüklemek için kandırılacağı bağımlılık karışıklığı saldırılarının farkına vardı. Yazılım tedarik zincirinizi bu saldırılara karşı desteklemek için NuGet ekibi bağımlılıklarınızı belirli kaynaklarla eşlemenizi sağlayan yeni bir özellik geliştirdi. Aşağıda, projelerinizi korumak için kaynak eşlemeyi nasıl kullanabileceğinizi gösteren bir örnek verilmiştir.
<!-- Define a global packages folder for your repository. -->
<!-- This is where installed packages will be stored locally. -->
<config>
<add key="globalPackagesFolder" value="globalPackagesFolder" />
</config>
<!-- Define my package sources, nuget.org and contoso.com. -->
<!-- `clear` ensures no additional sources are inherited from another config file. -->
<packageSources>
<clear />
<!-- `key` can be any identifier for your source. -->
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
<add key="contoso.com" value="https://contoso.com/packages/" />
</packageSources>
<!-- Define mappings by adding package ID patterns beneath the target source. -->
<!-- Contoso.* packages will be restored from contoso.com, everything else from nuget.org. -->
<packageSourceMapping>
<!-- key value for <packageSource> should match key values from <packageSources> element -->
<packageSource key="nuget.org">
<package pattern="*" />
</packageSource>
<packageSource key="contoso.com">
<package pattern="Contoso.*" />
</packageSource>
</packageSourceMapping>
Visual Studio'da NuGet Paket Yöneticisi kullanırken, artık paketleriniz için paket güvenlik açıklarının yanı sıra güvenlik açıklarının sayısı ve önem derecesi gibi ayrıntıların yanı sıra öneriler hakkında daha fazla bilgi edinmek için doğrudan bağlantılar göreceksiniz.
Yeniden Deneme ve Geri Alma Davranışı
Artık NUGET_ENABLE_EXPERIMENTAL_HTTP_RETRY NuGet istemcilerinin yeniden deneme ve geri alma davranışını iyileştirmeye yönelik, en yüksek yeniden deneme miktarını artırma ve daha zayıf bir internet bağlantısıyla karşılaşıldığında daha dayanıklı bir deneyim için gecikmeyi artırma gibi bir bayrak vardır.
Varsayılan Dosya Uzantılarını Dışla
Artık MSBuild bayrağını <AllowedOutputExtensionsInPackageBuildOutputFolder> kullanarak paketinizin derleme çıkışına dahil edilen dosya uzantılarını düzenleyebilirsiniz. Bu, derleme çıktı klasörünüzde yer alan uzantılar üzerinde daha fazla denetim sağlar.
Visual Studio'da Geliştirilmiş KullanımDan Kaldırma Bilgileri
Visual Studio'da kullanım dışı bırakılan paketler artık kullanılması önerilen alternatif paketin bağlantısını içeriyor. Bu özelliği, etkin bir şekilde tutulan paketlere hızla göz atmak ve bunları yüklemek için kullanabilirsiniz.
Visual Studio'da PAKET BENİOKU ekleme
Artık doğrudan Visual Studio'da bir paket README.md dosyası ekleyebilirsiniz. BENİOKU, paketinizle ilgili önemli bilgileri iletmenize yardımcı olur. Genellikle bir ziyaretçinin paketinizi NuGet.org ziyaret ederken göreceği ilk öğedir. README dosyaları genellikle aşağıdakiler hakkında bilgi içerir:
Paket ne yapar?
Paket neden yararlıdır?
Kullanıcılar paketi kullanmaya nasıl başlayabilir?
Kullanıcıların yardım alabildiği veya paketinize katkıda bulunabileceği yerler
NuGet paketinize BENIOKU ekleme hakkında daha fazla bilgiyi blogumuzdan okuyabilirsiniz.
Visual Studio'da Daha Hızlı Çözüm Yükü ve Dal Geçişi
Visual Studio 2022'de NuGet, birden çok kez yerine yalnızca bir kez geri yüklemeyi çağırarak büyük çözümlerin performansını artırmak için NuGet paketi geri yükleme ile yaygın Visual Studio bileşenleri arasındaki sözleşmeyi yeniden tanımladı. Bu, arka plan işlemlerinin tamamlanması için gereken süreyi önemli ölçüde artırır.
Visual Studio 2022 Preview'ı yükleyin ve büyük çözümlerinizi yüklerken veya dallar arasında geçiş yaparken daha hızlı bir deneyim fark ederseniz bize bildirin!
NuGet'in SolutionRestoreManager Visual Studio API'leri NuGet.VisualStudio paketine taşındı
NuGet.SolutionRestoreManager.Interop artık güncelleştirilmez ve API'leri NuGet.VisualStudio paketiyle birleştirilmiştir.
Mevcut bir Visual Studio uzantısını Visual Studio 2022 (17.0) ile çalışacak şekilde güncelleştiriyorsanız ve daha önce NuGet.SolutionRestoreManager.Interop kullanıyorsanız, bu paketi kaldırmanız ve NuGet.VisualStudio'yu 6.0.0 sürümüne yükseltmeniz/yüklemeniz gerekir.
Ad alanları ve sınıflar aynı kalır, bu nedenle API perspektifinden uyumludur.
Ayrıca, Visual Studio'nun ilkedeki değişikliğini izleyen NuGet.VisualStudio artık kullanmazEmbedInteropTypes.
Bu nedenle, uzantınız NuGet.VisualStudio.dll için bir derleme zamanı başvurusuna sahip olur.
Nuget, Visual Studio'ya bağlama yeniden yönlendirmelerini kullanma talimatını verdiği için NuGet daha yeni sürümlere güncelleştirildiğinde ve uzantınız derlememizin eski bir sürümünde derlendiğinde uzantınız etkilenmez.
Bu nedenle, indirme boyutunu azaltmak için NuGet'in derlemelerini vsix'inizden gizleyebilirsiniz.
NuGet paketleri, NuGet 6.2'de (Visual Studio 17.2 için) bunu otomatik olarak yapacak şekilde güncelleştirilecektir.
Vsix'inizden NuGet'in derlemelerini engellemek için proje dosyanıza aşağıdakileri ekleyin:
Nuget paketinden belirli derleme çıktı uzantılarını dışlamak için kanca ekleme - #10690
net6.0+ kullanırken xamarin TFM'leri için yeni öncelik uygulama - #10717
Net6.0+ projeleri için xamarin.ios'a "geri dönerken" maccatalyst uyarısı uygulama - #10718
Yapılandırmanın bir parçası olarak paket ad alanı desteği ekleme - yalnızca okuma özelliği ekleme - #10725
Paket Ad Alanları: PackageReference geri yüklemesinde paket indirme işleminde paket ad alanlarını filtreleme hesabı - #10732
nuget.exe ve msbuild /t:restore içinde packages.config geri yüklemesinde ad alanları filtreleme desteği ekleme - #10737
Daha iyi toplu geri yükleme/dal anahtarları elde etmeye yardımcı olmak için bir geri yükleme kaynağını tanımlamaya yönelik bir sözleşme ekleyin. - #10807
net6.0-tizen ve net6.0-android için destek ekleme - #10819
Visual Studio'da packages.config geri yükleme için ad alanları filtreleme desteği ekleme - #10823
İç derlemede semboller sağlamak için TfmSpecificDebugSymbolsFile desteği eklendi - #10913
Güvenlik açığı olan paketler yüklüyse, Yüklü sekmesinde uyarı simgesini göster - #10982
Bir güvenlik açığı varsa paketler listesinde pakete göre uyarı simgesini göster - #10983
[Hata]: dotnet list package --outdated --interactive kimlik bilgisi sağlayıcısının listelenen her paket için önbelleği geçersiz kılmaktadır - #11169
[Hata]: Packages.config senaryoları için paket ad alanları, bir paket için eşleşen ad alanı bulunamadığında geri dönüş seçeneği olarak tüm kaynakları kullanıyor - #11170
NuGet projelerini başlatma sırasında UI iş parçacığında MEF aramalarından kaçının - #11176
[Hata]: Yüklü sekmesindeki uyarı göstergesi görüntüsündeki araç ipucu artık çalışmıyor - #11183
MEF hizmetlerini alan tüm ServiceLocator çağrıları kullanıcı arabirimi iş parçacığından kaçınmalıdır. - #11201
[Hata]: Visual Studio'da telemetri olayı eksik - #11206
IVsSolutionManager.GetSolutionDirectoryAsync ekleyin. Performansı geliştirin ve zaman uyumsuz kod yollarında çağıran iş parçacığını engellemeyi durdurun. - #11208
Ürün/test kodundaki türleri/değişkenleri paket ad alanları özelliğinin yeni adını yansıtacak şekilde yeniden adlandırın - #11216
[Hata]: ArPow derlemesi, ilişkisiz git deposunun alt dizinindeyken düzgün çalışmıyor - #11227
dotnet list package --vulnerable, --deprecated, --outdated not not work for transitive-only positives - #10767
Görüşleriniz bizim için önemlidir. Bu sürümle ilgili herhangi bir sorun varsa, mevcut sorunlar için GitHub Sorunları ve Visual Studio Geliştirici Topluluğu gözden geçirin. NuGet'in içindeki yeni sorunlar için lütfen bir GitHub Sorunu bildirin.
Genel NuGet deneyimi sorunları için, Sorun Bildirmeye Yardımcı Olun > altında sık kullandığınız IDE'de bulunan Sorun Bildir seçeneği aracılığıyla bize bildirin.
.NET projesi oluşturun ve projenizde paketler eklemeyi ve paket bağımlılıklarını yönetmeyi öğrenin. Visual Studio Code aracılığıyla C# uygulamalarınıza kitaplık ve araç eklemek için .NET Core CLI'yi ve NuGet kayıt defterini kullanın.