Remarque
L’accès à cette page requiert une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page requiert une autorisation. Vous pouvez essayer de modifier des répertoires.
Les packages NuGet du moteur de modèles du SDK .NET ne ciblent plus netstandard2.0. Les projets qui ont consommé ces packages via la netstandard2.0 cible et qui ne ciblent pas l’une des infrastructures restantes ne peuvent plus les utiliser.
Version introduite
.NET 11 Preview 4
Comportement antérieur
Auparavant, pour prendre en charge la consommation à partir de projets ciblant .NET Standard 2.0 (y compris .NET Framework 4.6.1+ et .NET Core 2.0+), les packages suivants incluaient une cible netstandard2.0 :
Microsoft.TemplateEngine.AbstractionsMicrosoft.TemplateEngine.CoreMicrosoft.TemplateEngine.Core.ContractsMicrosoft.TemplateEngine.EdgeMicrosoft.TemplateEngine.Orchestrator.RunnableProjectsMicrosoft.TemplateEngine.UtilsMicrosoft.TemplateEngine.IDEMicrosoft.TemplateLocalizer.Core
Nouveau comportement
À partir de .NET 11, ces packages ciblent uniquement net9.0, net11.0 et net472. Les projets qui ont déjà consommé ces packages via la netstandard2.0 cible et qui ne ciblent pas l’une de ces infrastructures restantes ne peuvent plus référencer ces packages.
Type de changement cassant
Cette modification peut affecter la compatibilité des sources et la compatibilité binaire.
Raison de la modification
Les packages SDK du client NuGet (NuGet.*) ont cessé de prendre en charge netstandard2.0 à partir de la version 7.0.
Microsoft.TemplateEngine.Edge dépend des packages NuGet (NuGet.Configuration, NuGet.Credentials et NuGet.Protocol), ce qui rend de plus en plus difficile la maintenance de la compatibilité netstandard2.0. Pour éviter les conflits de dépendance transitifs, le projet a dû épingler ces packages à des versions antérieures et désactiver CentralPackageTransitivePinningEnabled. La suppression netstandard2.0 supprime cette contrainte et permet aux packages de rester à jour avec leurs dépendances.
Pour plus de contexte, consultez dotnet/sdk#54041.
Action recommandée
Mettez à jour votre projet consommateur pour cibler net9.0 ou version ultérieure, ou net472 ou version ultérieure (.NET Framework). Si vous avez utilisé la cible netstandard2.0 pour consommer ces packages à partir d’une bibliothèque de classes standard .NET, reciblez cette bibliothèque vers l’une des infrastructures prises en charge.
API affectées
Toutes les API publiques dans les packages concernés restent les mêmes. Seuls les frameworks cibles pris en charge ont changé.