Question

Mon buildbot fonctionne depuis 3 ans en utilisant devenv.com pour compiler les projets sur Windows.

Maintenant, Devenv.com a des problèmes à construire pour 64 bits versions: passer la configuration comme "Debug | x64" génère des erreurs de ligne de commande en raison du caractère de tuyau. L'échappement et l'enfermement entre les citations entraînent d'autres erreurs, certaines en raison des espaces des noms de répertoires, certains en raison de la ligne de commande étrangement comprise.

J'ai essayé à la fois vcbuild.exe et msbuild.exe. VCBuild.exe fonctionne parfaitement: je voudrais y rester. Msbuild.exe, de l'autre côté, a une production complètement étrange et compliquée que mes collègues se sentent terribles. Mais il est vanté partout comme LA façon de construire.

La question est: laquelle de Devenv.com, VCBuild.exe et Msbuild.exe est la méthode qui est la plus susceptible de durer dans le temps?

Était-ce utile?

La solution

MSBuild (avant Visual Studio 2010 / .NET 4) ne construit pas lui-même les projets C ++. Il appelle vcbuild.exe. Donc, si vous êtes heureux de ne pas utiliser msbuild, je m'en tiendrai à cela pour les projets C ++. Pour les projets gérés (et pour C ++ en utilisant VS 2010), utilisez MSBuild.

Autres conseils

MSBuild est la méthode "le plus susceptible de durer". Vcbuild.exe est mort; sa dernière version a été 2008. MSBuild 4.0 l'utilisera toujours, s'il a besoin de construire un projet VC à partir de VS2008 ou plus tôt. Quant à Devenv.exe - bien sûr, c'est juste un studio visuel sans tête. Fonctionnellement, c'est la même chose que frapper la construction en Vs. Cela signifie que ces jours-ci, c'est essentiellement simplement remis à Msbuild, mais parfois avec moins de parallélisme que Msbuild.exe n'en obtiendra. La principale raison pour laquelle vous pourriez encore avoir à utiliser devenv.exe est les projets .vdproj (déploiement). Ces choses héritées ont un processus de construction codé dur dans Vs. Je recommande une alternative comme Wix ou InstallShield qui sont basées sur MSBuild. Peu de temps maintenant jusqu'à ce que tout se construit en vs soit MSBuild.

En bref - MSBuild est l'avenir, utilisez-le à moins que vous ayez des projets de déploiement ou d'autres circonstances particulières.

Dan

J'ai rencontré le même problème et je l'ai résolu en inspirant Windows-Sell le caractère du tuyau:

"Debug^|Win32"

msbuild.exe ne sait pas (ne sait pas?) Comment construire des projets de configuration. Devenv.exe fait.

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