Comment puis-je installer la version VS2017 de msbuild sur un serveur de build sans installer l'IDE?

204

Historiquement, cela a été fait avec les outils de build Microsoft . Mais il semble que les outils de construction ne soient pas disponibles pour les versions après 2015 . Le remplacement semble être les outils de construction de Visual Studio, qui ne semblent pas encore avoir de véritable page d'accueil.

J'ai téléchargé le programme d'installation de VS2017 Professional et je suis allé dans l' onglet Composants individuels . Tout de suite, le résumé me dit que l'éditeur de base de Visual Studio est là, occupant 753 Mo. Je ne veux pas de l'éditeur. Juste msbuild. Il n'y a aucun moyen de désélectionner l'éditeur.

Existe-t-il un moyen d'installer la dernière version de msbuild sans installer également l'IDE de Visual Studio?

rianjs
la source
Copie possible de la tâche de génération TFS 2015 pour VS 2017
Richard
13
Cette question est formulée avec un mauvais titre qui cache la vraie question. Il n'est pas venu dans une recherche. Votre réponse est un lien et exécutez, ce qui est mauvais. Le nombre de vues est faible et il est "plus récent" que celui-ci d'une manière qui n'aura plus d'importance dans un jour, et encore moins l'année prochaine. Alors bien sûr, c'est un "doublon" dans le pire des sens.
rianjs
1
Je ne suis pas d'accord avec la suggestion d'un double. J'ai trouvé ce SO q & a comme premier résultat pour ma recherche de: "comment installer msbuild 2017 sur le serveur de build" - et la meilleure réponse répond précisément à mon besoin. Après avoir lu le doublon suggéré, cette réponse est un niveau complet plus détaillé sur les problèmes de passage d'une version à une autre - cette publication SO ne répond pas à la question que j'ai recherchée.
qxotk

Réponses:

309

Les outils de création de Visual Studio sont un téléchargement différent de l'IDE. Ils semblent être un assez petit sous-ensemble, et ils s'appellent Build Tools for Visual Studio 2019 ( téléchargement ).

Vous pouvez utiliser l'interface graphique pour effectuer l'installation, ou vous pouvez créer un script pour l'installation de msbuild:

vs_buildtools.exe --add Microsoft.VisualStudio.Workload.MSBuildTools --quiet

Microsoft.VisualStudio.Workload.MSBuildTools est un ID "wrapper" pour les trois sous-composants dont vous avez besoin :

  • Microsoft.Component.MSBuild
  • Microsoft.VisualStudio.Component.CoreBuildTools
  • Microsoft.VisualStudio.Component.Roslyn.Compiler

Vous pouvez trouver de la documentation sur les autres commutateurs CLI disponibles ici .

L'installation des outils de construction est beaucoup plus rapide que l'IDE complet. Dans mon test, cela a pris 5 à 10 secondes. Avec --quietil n'y a pas d'indicateur de progression autre qu'un bref changement de curseur. Si l'installation a réussi, vous devriez pouvoir voir les outils de construction dans%programfiles(x86)%\Microsoft Visual Studio\2019\BuildTools\MSBuild\Current\Bin .

Si vous ne les voyez pas là-bas, essayez d'exécuter sans --quietpour voir les messages d'erreur qui peuvent se produire pendant l'installation.

rianjs
la source
1
Le répertoire susmentionné n'est certainement pas créé. J'ai supprimé le --quietdrapeau avec un résultat identique, à l'exception d'une fenêtre modale qui apparaît un peu avant de disparaître.
Itamaram
1
J'examinerais l'Observateur d'événements Windows pour voir s'il y a des messages de journal sur la raison de l'échec de l'installation. Corrigez-les ensuite ou posez une nouvelle question spécifique à votre problème.
rianjs
6
En outre, n'utilisez pas le --quietmode si vous créez des applications Web ASP.net sur votre serveur de génération, car vous souhaiterez sélectionner "Outils de création de développement Web" pendant l'assistant d'installation afin que les cibles MSBuild correctes soient installées.
cwills
34
On dirait qu'au lieu des outils de construction, le lien fait référence à la communauté vs. Voici le lien buildtools: aka.ms/vs/15/release/vs_buildtools.exe
lorond
2
@IamCP: pour copier l'environnement d'installation de VS2017 sur une machine locale: cd G: \ ISO; . \ vs_Professional.exe --layout G: \ ISO \ VS2017ProOffline --lang en-US; . \ vs_BuildTools.exe --layout G: \ ISO \ VS2017BuildToolsOffline --lang en-US; Ensuite, vous pouvez copier sur votre cible hors ligne.
Michel de Becdelièvre