Vorlagenmodulpakete unterstützen netstandard2.0 nicht mehr

Die NuGet-Pakete der .NET SDK-Vorlagen-Engine haben netstandard2.0 nicht mehr als Ziel. Projekte, die diese Pakete über das netstandard2.0 Ziel genutzt haben und nicht auf eines der verbleibenden Frameworks abzielen, können sie nicht mehr verwenden.

Eingeführt in Version

.NET 11 Vorschau 4

Bisheriges Verhalten

Zuvor enthielten die folgenden Pakete zur Unterstützung der Nutzung in Projekten, die auf .NET Standard 2.0 abzielen (einschließlich .NET Framework 4.6.1+ und .NET Core 2.0+), ein netstandard2.0-Ziel:

Neues Verhalten

Ab .NET 11 zielen diese Pakete nur auf net9.0, net11.0 und net472 ab. Projekte, die diese Pakete zuvor über das netstandard2.0 Ziel genutzt haben und nicht auf eines dieser verbleibenden Frameworks abzielen, können nicht mehr auf diese Pakete verweisen.

Art der einschneidenden Änderung

Diese Änderung kann sich auf Quellkompatibilität und binäre Kompatibilität auswirken.

Grund für die Änderung

NuGet-Client-SDK-Pakete (NuGet.*) werden ab Version 7.0 nicht mehr für netstandard2.0 bereitgestellt. Microsoft.TemplateEngine.Edge hängt von NuGet-Paketen ab (NuGet.Configuration, NuGet.Credentials und NuGet.Protocol), was es immer schwieriger machte, netstandard2.0 Kompatibilität aufrechtzuerhalten. Um transitive Abhängigkeitskonflikte zu vermeiden, musste das Projekt diese Pakete an ältere Versionen anheften und deaktivieren CentralPackageTransitivePinningEnabled. Das Entfernen netstandard2.0 beseitigt diese Einschränkung und ermöglicht es den Paketen, mit ihren Abhängigkeiten auf dem neuesten Stand zu bleiben.

Weitere Kontexte finden Sie unter dotnet/sdk#54041.

Aktualisieren Sie Ihr verbrauchendes Projekt so, dass es auf net9.0 oder höher oder net472 oder höher (.NET Framework) ausgerichtet ist. Wenn Sie das netstandard2.0-Target verwendet haben, um diese Pakete aus einer .NET Standard-Klassenbibliothek zu verwenden, richten Sie diese Bibliothek auf eines der unterstützten Frameworks aus.

Betroffene APIs

Alle öffentlichen APIs in den betroffenen Paketen bleiben gleich. Nur die unterstützten Zielframeworks haben sich geändert.