MSbuild nécessite-t-il que Visual Studio soit installé sur le serveur de génération?

Peut-on utiliser MSBuild sans Visual Studio 2012?

Actuellement, nous avons un serveur de compilation où nous compilons et créons une copie de déploiement de l’un de nos projets. Visual Studio Professional Edition est installé sur ce serveur. Nous mettons en place un nouveau serveur de compilation maintenant. Avons-nous vraiment besoin de Visual Studio 2012 sur le nouveau serveur de compilation?

Si oui, alors comment? Je l’ai googlé mais je n’ai pas trouvé de réponse.

Non, vous n’avez pas besoin de Visual Studio dans votre boîte de compilation. Si je me souviens bien, msbuild est installé dans le cadre de .NET – c’était certainement le cas auparavant.

Selon ce que vous construisez, vous trouverez peut-être que certaines choses sont plus faciles à utiliser si vous installez Visual Studio, comme des profils de bibliothèque de classes portables. Bien qu’il existe généralement des programmes d’installation non-VS disponibles, j’ai trouvé plus simple d’installer une édition Express de Visual Studio uniquement pour obtenir les cibles de génération groupées.

Nous avons passé beaucoup de temps à essayer de faire fonctionner nos serveurs Build sans Visual Studio. Nous n’utilisons pas TFS pour les builds et je ne suis donc pas sûr que l’exemption de licence ci-dessus s’applique à nous. De plus, le fait que Visual Studio ne soit pas installé vous aide à comprendre réellement la manière dont votre logiciel est construit et à obtenir des références correctes.

Nous avons vu de nombreux exemples de solutions avec des projets qui contiennent des références pour le même logiciel avec certains paquets nuget livrés avec la solution et d’autres qui pointent vers des emplacements du fichier “program files” qui ne sont pas présents sur les machines sans Visual Studio. installée. Une fois que vous essayez de créer un logiciel sans VS installé, vous pouvez vraiment voir comment vos applications sont “autonomes”.

Avant de commencer à lister les choses que vous devez généralement installer, permettez-moi de souligner que MS Build n’est plus considéré comme faisant partie du framework .NET mais est livré avec Visual Studio mais peut également être installé séparément. Voir cet article de blog pour plus d’informations: http://blogs.msdn.com/b/visualstudio/archive/2013/07/24/msbuild-is-now-part-of-visual-studio.aspx

Les logiciels suivants doivent être installés pour la plupart des versions, il peut y en avoir d’autres, par exemple si vous créez des bibliothèques de classes portables.

  1. Microsoft Build Tools 2013
  2. Web Deploy 3.5 (pour les applications de packaging)
  3. Pack de développement Microsoft .NET Framework 4.5.1
  4. Pack de développement Microsoft .NET Framework 4.5.2
  5. Kit de développement logiciel (SDK) Windows pour Windows 8 (vous pouvez utiliser le kit SDK pour créer des applications qui ciblent ces systèmes d’exploitation: Windows 8, Windows 7, Windows Vista, Windows Server 2012, Windows Server 2008 et Windows Server 2008)

Les répertoires suivants doivent être copiés:

  1. Assemblys de référence (doivent être copiés depuis une machine exécutant Visual Studio depuis / vers le répertoire C: \ Program Files (x86) \ Reference Assemblies)
  2. Assemblys publics (doivent être copiés depuis une machine exécutant Visual Studio depuis / vers le répertoire C: \ Program Files (x86) \ Microsoft Visual Studio 12.0 \ Common7 \ IDE \ PublicAssemblies)

Nous utilisons également Wix et par conséquent, nous installons les éléments suivants:

  1. WIX Toolset 3.8

J’ai un jeu similaire pour les tests, mais cela ne faisait pas partie de la question, alors je vais m’en passer!

J’espère que cela aide quelqu’un.

Mise à jour: 3 mars 2017

Microsoft a récemment répondu à une requête vocale utilisateur de longue date ” Supporter les builds .NET sans avoir besoin de Visual Studio sur le serveur ” pour que la nécessité d’installer Visual Studio sur un serveur de build soit supprimée.

D’après la description de la page de téléchargement, “Ces outils de génération vous permettent de créer des applications MSBuild natives et gérées sans avoir besoin de l’IDE de Visual Studio.” Pas encore testé, mais après RTM, je regarderai ceci et fournirai une mise à jour supplémentaire ici.

Un article de blog promet que ces outils de construction installent toutes les conditions préalables et peuvent être utilisés pour créer des applications basées sur MS Build.

Rappelez-vous: Le moyen le plus simple de créer vos solutions de studio visuel consiste à installer Visual Studio sur le serveur de génération. Même Visual Studio Express suffit souvent.

Cela dit, vous pouvez le faire fonctionner sans lui. Mais c’est parfois beaucoup de travail à comprendre. Vous devrez installer le kit de développement de plate-forme Windows / .NET approprié . Vous pouvez installer plusieurs de ces SDK côte à côte. Maintenant, lorsque vous dépendez , par exemple, de SP.NET MVC 5 ou Entity Framework 6 , vous devrez peut-être installer d’autres SDK pour que votre application comstack. Les téléchargements supposent que Visual Studio est également installé, mais que nombre de leurs charges utiles peuvent également être installées séparément. Cela peut devenir très compliqué.

Personnellement, je me suis fatigué d’essayer de savoir quelles parties des installateurs activaient quoi. Mais cela est également dû au fait que Microsoft vous permet d’installer Visual Studio sur un serveur de génération (TFS) avec la même licence que votre machine de développement, tant que vous êtes un abonné MSDN. Consultez le livre blanc sur la licence de Visual Studio pour plus de détails .

Utilisation de Visual Studio sur le serveur de génération

Si vous avez un ou plusieurs utilisateurs sous licence de Visual Studio Ultimate avec MSDN, Visual Studio Premium avec MSDN ou Visual Studio Professional avec MSDN, vous pouvez également installer le logiciel Visual Studio dans le cadre de Team Foundation Server 2013 Build Services. De cette façon, vous n’avez pas besoin d’acheter une licence Visual Studio pour couvrir l’exécution de Visual Studio sur le serveur de génération pour chaque personne dont les actions lancent une génération.

Si vous préférez, comme moi, que cela change à l’avenir, je vous suggère de vous faire entendre en soumettant votre demande ou en votant pour une version existante de Visual Studio User Voice .

Voici un bref aperçu de cela.

Votre machine de construction devrait découpler autant que possible les outils de développement. Cela dit, et comme cela a déjà été dit par d’autres, MSBuild peut être exécuté indépendamment de Visual Studio, comme il se doit!

Si votre version nécessite l’exécution de Visual Studio, il y a de fortes chances que vous ayez un problème de solution ou d’architecture de projet à résoudre.

Visual Studio n’a pas besoin d’être installé. MSBuild fait partie du SDK .net.

D’autres dépendances .net devront être installées si vous les utilisez. MSTest, ou tout ce qui fait partie de Team Foundation, nécessitera l’installation de Visual Studio.

Je pense que vous n’avez besoin que de MSBuild (qui fait partie du framework .NET que vous ciblez).

Assurez-vous d’installer la dissortingbution .NET appropriée

Ce qui suit est un bon endroit pour les serveurs de construction dont il dispose des outils de développement.

Le pack de développement .NET Framework 4.5.1 installe le pack de ciblage multiple pour .NET Framework 4.5.1. Les développeurs peuvent créer des applications ciblant .NET Framework 4.5.1 à l’aide de Visual Studio 2012 ou d’EDI tiers. Vous devez télécharger le programme d’installation Web au lieu de ce package si vous avez l’intention de redissortingbuer .NET Framework 4.5.1.

http://www.microsoft.com/en-us/download/details.aspx?id=40772

Bonne chance.

C ++:

Il y a un ” Build Tools ” qui contient MSBuild, Visual Studio n’est pas requirejs.

De la doc officielle:

Ces outils vous permettent de créer des bibliothèques et des applications C ++ ciblant le bureau Windows. Ce sont les mêmes outils que Visual Studio 2015 dans un programme d’installation autonome scriptable. Il ne vous rest plus qu’à télécharger les outils dont vous avez besoin pour construire des projets C ++.

Géré:

La même chose appliquée: Build Tool Managed