Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
NuGet-paketen för .NET SDK-mallmotorn är inte längre mål för netstandard2.0. Projekt som använde dessa paket via målet netstandard2.0 och som inte är inriktade på någon av de återstående målplattformarna kan inte längre använda dem.
Version lanserad
.NET 11 Förhandsversion 4
Tidigare beteende
Tidigare, för att stödja förbrukning från projekt som är inriktade på .NET Standard 2.0 (inklusive .NET Framework 4.6.1+ och .NET Core 2.0+), innehöll följande paket ett netstandard2.0 mål:
Microsoft.TemplateEngine.AbstractionsMicrosoft.TemplateEngine.CoreMicrosoft.TemplateEngine.Core.ContractsMicrosoft.TemplateEngine.EdgeMicrosoft.TemplateEngine.Orchestrator.RunnableProjectsMicrosoft.TemplateEngine.UtilsMicrosoft.TemplateEngine.IDEMicrosoft.TemplateLocalizer.Core
Nytt beteende
Från och med .NET 11 riktar dessa paket endast in sig på net9.0, net11.0 och net472. Projekt som tidigare använde dessa paket via målet netstandard2.0 och som inte har som mål något av dessa återstående ramverk kan inte längre referera till dessa paket.
Typ av brytande ändring
Den här ändringen kan påverka källkompatibilitet och binär kompatibilitet.
Orsak till ändring
NuGet-klient-SDK-paket (NuGet.*) slutade vara inriktade på netstandard2.0 från och med version 7.0.
Microsoft.TemplateEngine.Edge är beroende av NuGet-paket (NuGet.Configuration, NuGet.Credentials och NuGet.Protocol), vilket gjorde det allt svårare att upprätthålla netstandard2.0 kompatibilitet. För att undvika transitiva beroendekonflikter var projektet tvunget att fästa dessa paket på äldre versioner och inaktivera CentralPackageTransitivePinningEnabled. Om du släpper netstandard2.0 tar du bort den här begränsningen och låter paketen hålla sig aktuella med sina beroenden.
Mer kontext finns i dotnet/sdk#54041.
Rekommenderad åtgärd
Uppdatera ditt förbrukande projekt till mål net9.0 eller senare, eller net472 eller senare (.NET Framework). Om du förlitade dig på målet netstandard2.0 för att använda de här paketen från ett .NET Standard-klassbibliotek, ändrar du målramverket för det biblioteket till ett av de ramverk som stöds.
Berörda API:er
Alla offentliga API:er i de berörda paketen förblir desamma. Endast de målramverk som stöds har ändrats.