Après avoir téléchargé et installé Visual Studio 2019 RC, je ne peux pas exécuter msbuild et j'obtiens l'erreur suivante:
"La version 2.2.202 du SDK .NET Core nécessite au moins la version 16.0.0 de MSBuild. La version actuellement disponible de MSBuild est 15.6.82.30579. Remplacez le SDK .NET Core spécifié dans global.json par une version plus ancienne qui requiert la version MSBuild actuellement disponible. "
Je ne trouve pas la version 16 de MSBuild. La seule version que je trouve est celle-ci ici: "C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ BuildTools \ MSBuild \ 15.0"
5 Réponses :
La mise à jour de Visual Studio vers la version minimale prise en charge ou supérieure devrait résoudre ce problème.
Certaines versions de .NET Core incluent également des correctifs dans MSBuild . Ils sont distribués avec Visual Studio .
Ils mettent les versions minimales prises en charge dans les notes de publication de .NET Core .
Par exemple: Annonce de .NET Core 2.2 | Blog .NET
Les versions de Visual Studio sont-elles directement liées aux versions de Microsoft.Build?
@Marie oui, par exemple, voir MSBuild 16.3.2 livré avec Visual Studio 2019 16.3.6
Les versions 2.2.2XX et 2.1.6XX du SDK .NET Core sont destinées à être utilisées avec Visual Studio 2019 et MSBuild 16.x .
Les versions du SDK .NET Core pour Visual Studio 2017 sont 2.2.1XX et 2.1.5XX .
Consultez ce problème GitHub pour plus de détails.
Merci pour cette information. J'étais en train de désinstaller de «vieux» SDK et j'ai constaté que je ne pouvais plus créer une solution au travail qui nécessitait encore MSBuild 15.x. Avoir ces plages de numéros de version était un gain de temps énorme!
Pour toute personne qui rencontre encore ce problème. J'ai trouvé un autre moyen de contourner ce problème sans passer à VS 2019 ni restaurer le SDK 3.1. Mon expérience est dans TFS 2017 (sur site). Je suis l'ingénieur de conception, pas un développeur.
J'avais une application SDK 2.2 qui échouait après l'installation de 3.1.
Initialement, cela provoquait l'échec des étapes NuGet. Les recherches m'ont conduit à demander aux développeurs d'ajouter un fichier global.json en le faisant pointer vers 2.2. Cela a corrigé les erreurs NuGet.
Ensuite, l'étape MSBuild échouait avec un message similaire aux OP. Impossible de comprendre pourquoi 3.1 prenait préséance sur 2.2 lorsqu'il a été répertorié dans global.json. J'ai donc commencé à fouiller dans le SDK dans des dossiers de décrochage (généralement situés dans C: \ Program Files \ dotnet \ sdk). Je suis tombé sur un fichier nommé minimumMSBuildVersion Dans le dossier SDK \ 3.1.101, ce fichier a la version 16.3.0 de MSBuild répertoriée. Je suis ensuite allé dans le dossier SDK 2.2 et je l'ai vérifié. Il a la version 15.3.0 que mon serveur de construction a. J'ai simplement changé la version dans le dossier 3.1 et ma construction a réussi. J'espère que cela aidera tous ceux qui peuvent encore rencontrer des problèmes de build lorsque les versions du SDK .Net Core sont mises à jour sur leurs serveurs de build TFS.
Changer les versions aléatoires requises sans savoir à quoi elles servent ou quels sont les effets en aval est une idée terrible. Cela peut revenir te mordre
Pour les personnes qui viennent ici parce qu'elles disposent des pipelines Azure DevOps - voici quelques conseils à ce sujet.
Si vous avez configuré un pool d'agents privés (par exemple, une machine de construction privée), vous souhaiterez peut-être mettre à jour votre machine pour prendre en charge une version plus récente de MSBuild. Voir d'autres réponses.
Si vous n'avez pas configuré d'agent de build et que vous utilisez un pool d'agents par défaut fourni par Azure DevOps lui-même (par exemple, "Hosted" ou VS2019), voyez s'il existe un plus récent Hosted qui prend en charge votre configuration. Voir la capture d'écran ci-dessous où chercher.
J'ai rencontré ce problème avec notre serveur de compilation sur site que nous utilisons avec les actions GitHub.
La solution consistait à exécuter Visual Studio Installer et à mettre à jour Visual Studio Build Tools 2017 et 2019.
Je me rends compte que cette solution est très similaire à celles ci-dessus, mais je voulais parler des situations où Visual Studio n'est pas installé, mais les Build Tools le sont.
Avez-vous essayé de mettre à jour votre Visual Studio?
Oui, quand je l'ai mis à jour maintenant, cela a fonctionné. Merci @Matthiee