web-dev-qa-db-fra.com

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

Pouvons-nous utiliser MSBuild sans Visual Studio 2012?

Nous disposons actuellement d'un serveur de génération sur lequel nous compilons et créons une copie de déploiement de l'un de nos projets. Visual Studio Professional Edition est installé sur celui-ci. Nous mettons actuellement en place un nouveau serveur de compilation. Avons-nous vraiment besoin de Visual Studio 2012 sur le nouveau serveur de génération?

Si oui, alors comment? Je l'ai googlé mais je n'ai pas pu trouver de réponse.

53
user968441

Non, vous n'avez pas besoin de Visual Studio sur votre boîte de construction. Si je me souviens bien, msbuild a été installé dans le cadre du framework .NET.

Selon ce que vous construisez, vous constaterez peut-être qu'il existe certaines choses plus faciles à utiliser si vous installez Visual Studio, par exemple 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 Express edition de Visual Studio uniquement pour obtenir les cibles de construction fournies.

37
Jon Skeet

Nous avons passé beaucoup de temps à essayer de faire fonctionner nos serveurs de génération sans Visual Studio ..__ Nous n'utilisons pas TFS pour les générations et je ne suis donc pas sûr que l'exemption de licence ci-dessus nous concerne. De plus, le fait de ne pas avoir installé Visual Studio vous aide à comprendre vraiment comment votre logiciel est construit et à obtenir des références correctes. 

Nous avons vu de nombreux exemples de solutions avec des projets contenant des références pour le même logiciel avec certains packages de nuget livrés avec la solution et d'autres pointant vers des emplacements du chemin "fichiers de programme" qui ne sont pas présents sur des ordinateurs sans Visual Studio. installée. Une fois que vous essayez de créer un logiciel sans VS installé, vous pouvez vraiment voir à quel point vos applications sont "autonomes".

Avant de commencer à répertorier les éléments à installer, laissez-moi vous dire que MS Build n'est plus considéré comme faisant partie du framework .NET mais est fourni avec Visual Studio, mais peut également être installé séparément. Voir ce billet 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 Windows (SDK) pour Windows 8 (Vous pouvez utiliser le 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 R2, Windows Server 2008 )

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

  1. Assemblys de référence (doivent être copiés à partir d'un ordinateur exécutant Visual Studio à partir du répertoire/dans le répertoire C:\Program Files (x86)\Assemblys de référence)
  2. Assemblys publics (doivent être copiés à partir d'un ordinateur exécutant Visual Studio à partir du répertoire/vers le répertoire C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\PublicAssemblies

Nous utilisons également Wix et installons donc les éléments suivants:

  1. WIX Toolset 3.8

J'ai un ensemble similaire à tester, mais cela ne faisait pas partie de la question, donc je vais laisser ça de côté!

J'espère que ça aide quelqu'un.

Mise à jour: 3 mars 2017

Microsoft a récemment répondu à une demande vocale d'utilisateur de longue date " Prise en charge des constructions .NET sans nécessiter Visual Studio sur le serveur " pour que la nécessité d'installer Visual Studio sur un serveur de génération soit supprimée.

Dans la description de la page de téléchargement "Ces outils de construction vous permettent de créer des applications MSBuild natives et gérées sans recourir à l'EDI de Visual Studio." Pas encore testé, mais après RTM, je vais l'examiner et fournir une mise à jour supplémentaire ici.

Il existe un article blog qui promet que ces outils de génération installent tous les éléments requis et peuvent être utilisés pour créer des applications basées sur MS Build.

56
CarlR

N'oubliez pas: Le moyen le plus simple de créer vos solutions Visual Studio consiste à installer Visual Studio sur le serveur de génération. Même Visual Studio Express est souvent suffisant.

Cela dit, vous pouvez le faire fonctionner sans cela. Mais il faut parfois beaucoup de travail pour comprendre. Vous devrez installer le bon Windows/.NET Platform SDK . Vous pouvez installer plusieurs de ces SDK côte à côte. Désormais, lorsque vous dépendez par exemple de A SP.NET MVC 5 ou Entity Framework 6 , vous devrez peut-être installer d’autres SDK pour que votre application soit compilée. Les téléchargements de ceux-ci supposent tous que Visual Studio est également installé, mais bon nombre de leurs charges utiles peuvent également être installés séparément. Cela peut devenir assez compliqué.

Personnellement, je suis fatigué d'essayer de déterminer quelles parties de chaque installateur permettent quoi. Mais cela est également motivé par le fait que Microsoft vous permet d’installer Visual Studio sur un serveur de build (TFS) avec la même licence que votre ordinateur de développement, tant que vous êtes un abonné MSDN. Consultez le livre blanc sur les licences 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 Services de construction 2013. De cette manière, vous n'avez pas besoin d'acheter une licence Visual Studio pour couvrir l'exécution de Visual Studio sur le serveur de compilation pour chaque personne dont les actions initient une compilation. 

Si, comme moi, vous préférez que cela change à l'avenir, je vous suggère de vous assurer que vous êtes bien entendu en soumettant votre demande ou en votant pour une requête existante sur Visual Studio User Voice .

15
jessehouwing

Voici juste un aperçu rapide de ceci.

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

Si votre construction nécessite l'exécution de Visual Studio, il est fort probable que vous rencontriez un problème de solution ou d'architecture de projet qui doit être résolu.

5
Mike Gilmore

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

Assurez-vous d’installer la bonne distribution .NET 

ce qui suit est un bon emplacement pour les serveurs de compilation, il dispose de l’outillage de développement.

Le pack de développement .NET Framework 4.5.1 installe le pack multi-ciblage pour .NET Framework 4.5.1. Les développeurs peuvent créer des applications ciblant le .NET Framework 4.5.1 à l’aide de Visual Studio 2012 ou d’EDI tiers. Si vous souhaitez redistribuer .NET Framework 4.5.1, vous devez télécharger le programme d’installation Web à la place de ce package. 

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

Bonne chance.

0
George Gergues

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

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

0
flukus

C++:

Il existe un " Outils de compilation " qui contient MSBuild, Visual studio n’est pas requis.

Du doc ​​officiel:

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 vous trouvez dans Visual Studio 2015 dans un programme d'installation autonome scriptable. Maintenant vous seulement besoin de télécharger les outils dont vous avez besoin pour construire des projets C++.

Géré: 

Il en va de même: Build Tool Géré

0
Malick