Sjabloonenginepakketten bieden geen ondersteuning meer voor netstandard2.0

De .NET SDK-sjabloonengine NuGet-pakketten richten zich niet meer op netstandard2.0. Projecten die deze pakketten via het netstandard2.0 doel hebben gebruikt en die niet zijn gericht op een van de resterende frameworks, kunnen deze niet meer gebruiken.

Geïntroduceerde versie

.NET 11 preview 4

Vorig gedrag

Voorheen bevatten de volgende pakketten een netstandard2.0-doel om gebruik door projecten die zijn gericht op .NET Standard 2.0 (inclusief .NET Framework 4.6.1+ en .NET Core 2.0+) te ondersteunen:

Nieuw gedrag

Vanaf .NET 11 zijn deze pakketten alleen gericht op net9.0, net11.0 en net472. Projecten die deze pakketten eerder via het netstandard2.0 doel hebben gebruikt en die niet gericht zijn op een van deze resterende frameworks, kunnen niet meer verwijzen naar deze pakketten.

Type van brekende verandering

Deze wijziging kan van invloed zijn op de broncompatibiliteit en binaire compatibiliteit.

Reden voor wijziging

NuGet client-SDK-pakketten (NuGet.*) zijn vanaf versie 7.0 niet langer gericht op netstandard2.0. Microsoft.TemplateEngine.Edge is afhankelijk van NuGet-pakketten (NuGet.Configuration, NuGet.Credentials en NuGet.Protocol), waardoor het steeds moeilijker wordt om netstandard2.0 compatibiliteit te behouden. Om transitieve afhankelijkheidsconflicten te voorkomen, moest het project deze pakketten vastmaken aan oudere versies en uitschakelen CentralPackageTransitivePinningEnabled. Door netstandard2.0 weg te laten, vervalt deze beperking en kunnen de pakketten up-to-date blijven met hun afhankelijkheden.

Zie dotnet/sdk#54041 voor meer context.

Werk uw verbruiksproject bij om net9.0 of hoger te richten, of net472 of hoger (.NET Framework). Als u gebruikmaakt van het netstandard2.0 doel om deze pakketten te gebruiken vanuit een .NET Standard-klassebibliotheek, moet u die bibliotheek opnieuw instellen op een van de ondersteunde frameworks.

Betreffende API's

Alle openbare API's in de betrokken pakketten blijven hetzelfde. Alleen de ondersteunde doelframeworks zijn gewijzigd.