visual-studio - studio - visual c++ command prompt
¿Hay alguna forma de crear Visual Studio "project only" desde la línea de comandos? (7)
devenv mysolution.sln /build "Release|Win32" /project myproject
Al construir desde la línea de comando, parece que tengo la opción de hacer /build
o /rebuild
, pero no hay forma de decir que quiero hacer "project only" (es decir, no compilar o reconstruir las dependencias del proyecto especificado también). ¿Alguien sabe de alguna manera?
Cómo crear un proyecto, no una solución completa - Artículo de MSDN
De acuerdo con MSDN How To: Build Specific Targets in Solutions con MSBuild.exe :
msbuild foo.sln /t:proj1:Rebuild;folder_of_proj2/proj2:Clean
Dependiendo de la estructura de su sistema de compilación, esto puede ser lo que está buscando:
msbuild /p:BuildProjectReferences=false project.proj
Gracias por las respuestas. Veo un poco de mirar en msbuild
que puede tratar con un archivo .sln
lugar de .vcproj
; ¿Se puede lograr esto de esa manera en lugar de tener que saber la ubicación de .vcproj
?
Déjame dar un paso atrás. Tenemos un gran archivo de solución y quiero un script para hacer esto:
- Hacer una
/build
sobre la solución completa.
(Algunas veces, algunos proyectos fallan porquedevenv
no hace la construcción necesaria para la cantidad de cambios desde la última compilación). - Para cada proyecto que falla, haga una
/rebuild
en él.
Cuando llego al paso 2, todo lo que sé es el nombre del archivo de la solución y los nombres (no los nombres de archivo) de los proyectos que fallaron. Podría fácilmente grep
/ awk
/ lo que sea que el archivo .sln
pueda mapear de una a otra, pero tengo curiosidad si msbuild
ofrece una forma de hacerlo directamente.
(Idealmente podría darle a msbuild
el .sln
y los nombres de todos los proyectos para reconstruir en una sola línea de comando, ya que es un archivo grande y tarda un tiempo en cargarse. Si eso no es posible, la opción de encontrar manualmente todos los nombres de archivo del proyecto probablemente sea mejor ya que cargar el archivo de la solución siempre sería más ineficiente).
Lo siguiente funciona bien para construir un solo proyecto de C ++ en VS2010:
call "%VS100COMNTOOLS%"//vsvars32.bat
msbuild /detailedsummary /p:Configuration=Debug /p:Platform=x64 /t:build MY_ABSOLUTE_PATH.vcxproj
Lamentablemente, no puede simplemente especificar un nombre de proyecto y un archivo de solución para compilar solo ese proyecto (a menos que agregue una configuración especial a los archivos de su proyecto, tal vez).
No llame a devenv
, use la herramienta de compilación genérica en su lugar:
vcbuild subproject.vcproj "release|win32"
MSBuild es lo que quieres
MSBuild.exe MyProject.proj /t:build