Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Le SDK .NET 8.0.200 a introduit une régression dans les nouvelles options de la CLI MSBuild -getItem, -getProperty, et -getTargetResult. Lorsque le Kit de développement logiciel (SDK) est utilisé pour effectuer une opération MSBuild pour un TargetFramework spécifique, la sortie est dupliquée, comme suit :
> dotnet build -r:android-arm64 --getProperty:OutputPath -f:net8.0-android
bin\Debug/net8.0-android/android-arm64/
bin\Debug/net8.0-android/android-arm64/
Remarque
Nous avons l’intention de corriger ce comportement dans une prochaine version du Kit de développement logiciel (SDK) .NET 8.0.200.
Version introduite
.NET 8.0.200
Comportement précédent
> dotnet build -r:android-arm64 --getProperty:OutputPath -f:net8.0-android
bin\Debug/net8.0-android/android-arm64/
Nouveau comportement
La construction, le chargement ou l’exécution d’un projet affecté échouent.
Type de changement cassant
Il s’agit d’un changement comportemental qui peut avoir un impact sur les scripts utilisateur, en particulier dans les scénarios CI/CD.
Raison de la modification
Ces options sont destinées à retourner des valeurs calculées à partir d’une seule build demandée par l’utilisateur. Toutefois, les opérations MSBuild initiées par le SDK comme build et publish peuvent parfois déclencher un deuxième appel à MSBuild, en particulier lorsque l’option -f est utilisée pour spécifier qu’une build doit se produire pour un TargetFramework spécifique. Dans ce scénario, les options -getItem, -getProperty, et -getTargetResult ont été passées aux deux appels MSBuild, au lieu de celui qu’un utilisateur s’attendait à voir déclenché.
Action recommandée
Sélectionnez une des actions suivantes :
- Utilisez une version antérieure du Kit de développement logiciel (SDK) .NET (avant l’introduction de la régression).
- Utilisez une version du Kit de développement logiciel (SDK) .NET 8 qui contient le correctif, qui doit être n’importe quelle version après la version 8.0.202.
- Supprimez toute utilisation de
-fdans les appels qui utilisent également-getItem,-getPropertyou-getTargetResults.