Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Pakiety NuGet aparatu szablonów zestawu SDK platformy .NET nie są już przeznaczone dla netstandard2.0. Projekty, które korzystały z tych pakietów poprzez obiekt docelowy netstandard2.0 i nie są ukierunkowane na jedną z pozostałych platform docelowych, nie mogą już z nich korzystać.
Wersja wprowadzona
.NET 11 (wersja zapoznawcza 4)
Poprzednie zachowanie
Wcześniej, aby umożliwić korzystanie z nich w projektach przeznaczonych dla platformy .NET Standard 2.0 (w tym .NET Framework 4.6.1+ i .NET Core 2.0+), następujące pakiety zawierały element docelowy netstandard2.0:
Microsoft.TemplateEngine.AbstractionsMicrosoft.TemplateEngine.CoreMicrosoft.TemplateEngine.Core.ContractsMicrosoft.TemplateEngine.EdgeMicrosoft.TemplateEngine.Orchestrator.RunnableProjectsMicrosoft.TemplateEngine.UtilsMicrosoft.TemplateEngine.IDEMicrosoft.TemplateLocalizer.Core
Nowe zachowanie
Począwszy od .NET 11, te pakiety dotyczą tylko net9.0, net11.0 i net472. Projekty, które wcześniej korzystały z tych pakietów za pośrednictwem elementu docelowego netstandard2.0 i nie są ukierunkowane na żadną z tych pozostałych platform, nie mogą już odwoływać się do tych pakietów.
Typ zmiany przełamującej
Ta zmiana może mieć wpływ na zgodność źródła i zgodność binarną.
Przyczyna zmiany
Pakiety SDK klienta NuGet (NuGet.*) przestały być przeznaczone dla netstandard2.0 od wersji 7.0.
Microsoft.TemplateEngine.Edge zależy od pakietów NuGet (NuGet.Configuration, NuGet.Credentials i NuGet.Protocol), co utrudniało utrzymanie zgodności netstandard2.0. Aby uniknąć konfliktów zależności przechodnich, projekt musiał przypisać te pakiety do starszych wersji na stałe i wyłączyć CentralPackageTransitivePinningEnabled. Porzucanie netstandard2.0 usuwa to ograniczenie i umożliwia pakietom pozostawanie na bieżąco z ich zależnościami.
Aby uzyskać więcej informacji na temat kontekstu, zobacz dotnet/sdk#54041.
Zalecana akcja
Zaktualizuj projekt zużywany do docelowego net9.0 lub nowszego albo net472 lub nowszego (.NET Framework). Jeśli używasz elementu docelowego netstandard2.0, aby korzystać z tych pakietów z biblioteki klas .NET Standard, zmień platformę docelową tej biblioteki na jedną z obsługiwanych platform docelowych.
Interfejsy API, których dotyczy problem
Wszystkie publiczne interfejsy API w pakietach, których dotyczy problem, pozostają takie same. Zmieniły się tylko obsługiwane platformy docelowe.