Question

Comment transformer une version de Visual Studio que vous effectueriez dans l'EDI en un script que vous pouvez exécuter à partir de la ligne de commande ?

Était-ce utile?

La solution

Avec VS2008, vous pouvez faire ceci :

devenv solution.sln /build configuration

Autres conseils

\Windows\Microsoft.NET\Framework\[YOUR .NET VERSION]\msbuild.exe

Beaucoup de paramètres de ligne de commande, mais le plus simple est simplement :

msbuild.exe yoursln.sln

Manière la plus simple :accédez au répertoire contenant la solution ou le fichier de projet et exécutez msbuild (en supposant que vous disposez de Visual Studio 2005 ou d’une version ultérieure).

Des moyens plus flexibles :

  • Lire sur le MSBuild référence.Il y a des tonnes de personnalisation, surtout une fois Vous avez installé l’option Projet de tâches communautaires MSBuild.
  • Utiliser NANT.Il a existé plus longtemps que MSBuild et a plus de le soutien de la communauté, mais vous oblige à Pour démarrer un fichier de projet à partir de gratter, plutôt que d’étendre le existant, créé par Visual Studio.

NANT et MSBuild sont les outils les plus populaires pour automatiser votre build in .FILET, et vous pouvez y trouver une discussion sur les avantages/inconvénients de chacun dans la question Stack Overflow Meilleur outil de construction .NET.

Examinez l'outil de construction NANT ou MSBuild.Je pense que MSBuild est l'outil de création de Visual Studio 2005 et versions ultérieures.Je suis cependant fan de NAnt...

Voici le script que j'utilise pour automatiser complètement la construction en ligne de commande des configurations x86 ET x64 pour la même solution via des scripts batch.

Ceci est basé sur DevEnv.exe car il fonctionne si vous avez un projet d'installation dans votre build (msbuild ne prend pas en charge la création de projets d'installation).

Je suppose que votre configuration est Windows 7 32 bits avec la configuration de Visual Studio 2010 utilisant le compilateur natif x86 et le compilateur croisé x64.Si vous utilisez Windows 64 bits, vous devrez peut-être modifier x86_amd64 à amd64 dans le script batch en fonction de votre configuration.Cela suppose que Visual Studio est installé dans Fichiers de programme et votre solution se trouve dans D:\MonSoln

Créez un fichier appelé buildall.bat et ajoutez-y ceci :

D:
cd "D:\MySoln"

if "%1" == "" goto all
if %1 == x86 goto x86
if %1 == x64 goto x64

:x86
%comspec% /k ""C:\Program Files\Microsoft Visual Studio 10.0\VC\vcvarsall.bat"" x86 < crosscompilex86.bat
goto eof

:x64
%comspec% /k ""C:\Program Files\Microsoft Visual Studio 10.0\VC\vcvarsall.bat"" x86_amd64 < crosscompilex64.bat
goto eof

:all
%comspec% /k ""C:\Program Files\Microsoft Visual Studio 10.0\VC\vcvarsall.bat"" x86 < crosscompilex86.bat
if %ERRORLEVEL% NEQ 0 goto eof
%comspec% /k ""C:\Program Files\Microsoft Visual Studio 10.0\VC\vcvarsall.bat"" x86_amd64 < crosscompilex64.bat
goto eof

:eof
pause

Créez maintenant 2 autres scripts batch :

crosscompilex86.bat pour créer la version Release d'une version x86 et l'inclure

devenv MySoln.sln /clean "Release|x86"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
devenv MySoln.sln /rebuild "Release|x86"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%

crosscompilex64.bat pour construire la version Release de la version x64 et inclure ceci

devenv MySoln.sln /clean "Release|x64"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
devenv MySoln.sln /rebuild "Release|x64"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%

Placez maintenant les 3 fichiers batch dans votre dossier de solution avec MySoln.sln.Vous pouvez créer des versions x86 et x64 en créant un raccourci sur votre bureau qui exécute les commandes suivantes :

  • Tout construire -> D:\MonSoln\buildall.bat
  • Construire la version x86 uniquement -> D:\MySoln\buildall.bat x86
  • Construire la version x64 uniquement -> D:\MySoln\buildall.bat x64

Si vous utilisez une autre configuration comme AnyCPU, etc., vous devrez personnaliser les scripts ci-dessus en conséquence.

Jetez un œil à UppercuT.Il en a pour votre argent et fait ce que vous recherchez et bien plus encore.

UppercuT utilise NAnt pour construire et c'est un framework de construction incroyablement facile à utiliser.

Des constructions automatisées aussi simples que (1) le nom de la solution, (2) le chemin de contrôle des sources, (3) le nom de l'entreprise pour la plupart des projets !

http://projectuppercut.org/

Quelques bonnes explications ici : Uppercut

Voici mon fichier batch utilisant msbuild pour VS 2010 Configuration du débogage :

"C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe" 
iTegra.Web.sln /p:Configuration=Debug /clp:Summary /nologo

Dès Studio visuel 2005, tous les fichiers de projet (au moins pour les projets basés sur .NET) sont réels MSBuild fichiers, vous pouvez donc appeler MSBuild sur la ligne de commande et lui transmettre le fichier projet.

L'essentiel est que vous devez utiliser un "langage de script de construction" comme NANT ou MSBuild (il y en a d'autres, mais ce sont les plus courants actuellement) si vous souhaitez avoir un réel contrôle sur votre processus de construction.

J'ai dû le faire pour un projet C++ dans Visual Studio 2003 donc je ne sais pas à quel point cela est pertinent pour la version ultérieure de Visual Studio :

Dans le répertoire où est créé votre exécutable, il y aura un BuildLog.htm déposer.Ouvrez ce fichier dans votre navigateur puis pour chaque section telle que :

Creating temporary file "c:\some\path\RSP00003C.rsp" with contents
[
/D "WIN32" /D "_WINDOWS" /D "STRICT" /D "NDEBUG" ..... (lots of other switches)
.\Project.cpp
.\Another.cpp
.\AndAnother.cpp
".\And Yet Another.cpp"
]
Creating command line "cl.exe @c:\some\path\RSP00003C.rsp /nologo"

créez un fichier .rsp avec le contenu entre crochets (mais sans inclure les crochets) et appelez-le comme vous le souhaitez.Il me semble que j'ai eu des problèmes avec les chemins absolus, vous devrez donc peut-être vous assurer que tous les chemins sont relatifs.

Ensuite, dans votre script de construction, ajoutez la ligne de commande du BuildLog.htm fichier mais avec votre nom de fichier .rsp :

cl.exe @autobuild01.rsp /nologo

(notez qu'il y aura également une section link.exe ainsi que cl.exe)

Un moyen plus simple consiste à modifier la configuration de VS 2015 Projects & Solutions :Accédez à l'onglet Outils -> Options -> Projets et solutions -> Créer et exécuter -> Lors de l'exécution, lorsque les projets sont obsolètes (choisissez Toujours construire).VOILA !

Désormais, votre IDE construira automatiquement votre projet lorsque vous l'exécuterez (F5).J'espère que cela vous aidera, tous les commentaires sont les bienvenus.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top