visual studio sirve que para ordenar linea fuente eliminar configurar codigo code cambiar ajuste visual-studio command-line build-process

visual studio - studio - ¿Cómo obtener el comando de construcción de línea cmd para la solución VS?



visual studio code (6)

Esto es probablemente fácil, pero me estoy atorando: cuando construyo una solución en Visual Studio, ¿cómo extraer la línea de cmd exacta para el comando de compilación actual para poder hacer la misma compilación desde la consola de VisualStudio?

En la ventana de resultados, puedo ver los proyectos individuales en los comandos de compilación de la solución, pero no el de la solución completa.

Estoy en VS2005.

Cualquier ayuda sería apreciada


Puede iniciar msbuild desde la línea de comando. msbuild entiende los archivos .sln (solución). Puede especificar el archivo .sln y la configuración de compilación (depuración, versión, etc.) desde la línea de comando.

http://msdn.microsoft.com/en-us/library/ms164311.aspx
Aquí está la documentación sobre lo que puedes hacer con msbuild. MSBuild.exe se instala con .NET Framework, no con Visual Studio. Puede encontrarlo en c: / windows / microsoft.net / framework / v3.5 (o v2.0.50727)

Busqué un poco y encontré que también puedes hacer una compilación de línea de comando con Visual Studio usando devenv.exe / build, más información aquí:
http://msdn.microsoft.com/en-us/library/xee0c8y7(VS.80).aspx


Además de lo que dice @JohnIdol correctamente, he descubierto que necesita configurar variables de entorno VS de número. No tengo el nombre del archivo por lotes delante de mí, pero puede modificarlo o ''Creo'' usarlo. Está en el árbol de archivos del programa VS en alguna parte. Además, como recuerdo, no desea estar en un shell estándar, sino en un shell de configuración de .NET para algunas rutas y tal. Agregaré detalles más adelante cuando esté en una PC con Windows con VS.

EDITAR: El archivo por lotes mencionado es un atajo en el menú ProgFiles. Aquí están los detalles de sus propiedades.

%comspec% /k ""C:/Program Files/Microsoft Visual Studio 8/VC/vcvarsall.bat""x86"

Aquí está mi archivo por lotes, usando MSBuild para llamar a la solución.

@echo off :: setup VS2005 command line build environment set VSINSTALLDIR=C:/Program Files/Microsoft Visual Studio 8 set VCINSTALLDIR=C:/Program Files/Microsoft Visual Studio 8/VC set FrameworkDir=C:/WINDOWS/Microsoft.NET/Framework set FrameworkVersion=v2.0.50727 set FrameworkSDKDir=C:/Program Files/Microsoft Visual Studio 8/SDK/v2.0 set DevEnvDir=C:/Program Files/Microsoft Visual Studio 8/Common7/IDE set PATH=C:/Program Files/Microsoft Visual Studio 8/Common7/IDE;C:/Program Files/Microsoft Visual Studio 8/VC/BIN;C:/Program Files/Microsoft Visual Studio 8/Com mon7/Tools;C:/Program Files/Microsoft Visual Studio 8/Common7/Tools/bin;C:/Program Files/Microsoft Visual Studio 8/VC/PlatformSDK/bin;C:/Program Files/Microsoft Visual Studio 8/SDK/v2.0/bin;C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727;C:/Program Files/Microsoft Visual Studio 8/VC/VCPackages;%PATH% set INCLUDE=C:/Program Files/Microsoft Visual Studio 8/VC/ATLMFC/INCLUDE;C:/Program Files/Microsoft Visual Studio 8/VC/INCLUDE;C:/Program Files/Microsoft Visual Studio 8/VC/PlatformSDK/include;C:/Program Files/Microsoft Visual Studio 8/SDK/v2.0/include;%INCLUDE% set LIB=C:/Program Files/Microsoft Visual Studio 8/VC/ATLMFC/LIB;C:/Program Files/Microsoft Visual Studio 8/VC/LIB;C:/Program Files/Microsoft Visual Studio 8/VC /PlatformSDK/lib;C:/Program Files/Microsoft Visual Studio 8/SDK/v2.0/lib;%LIB% set LIBPATH=C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727;C:/Program Files/Microsoft Visual Studio 8/VC/ATLMFC/LIB echo %0 %* echo %0 %* >> %MrB-LOG% cd if not ""=="%~dp1" pushd %~dp1 cd if exist %~nx1 ( echo VS2005 build of ''%~nx1''. echo VS2005 build of ''%~nx1''. >> %MrB-LOG% set MrB-BUILDLOG=%MrB-BASE%/%MrB-WORK%.%MrB-NICEDATE%.%MrB-NICETIME%.build-errors.log msbuild.exe %~nx1 /t:Rebuild /p:Configuration=Release > %MrB-BUILDLOG% findstr /r /c:"[1-9][0-9]* Error(s)" %MrB-BUILDLOG% if not errorlevel 1 ( echo ERROR: sending notification email for build errors in ''%~nx1''. echo ERROR: sending notification email for build errors in ''%~nx1''. >> %MrB-LOG% call mrb-email "Mr Build isn''t happy about build errors in ''%~nx1''" %MrB-BUILDLOG% ) else ( findstr /r /c:"[1-9][0-9]* Warning(s)" %MrB-BUILDLOG% if not errorlevel 1 ( echo ERROR: sending notification email for build warnings in ''%~nx1''. echo ERROR: sending notification email for build warnings in ''%~nx1''. >> %MrB-LOG% call mrb-email "Mr Build isn''t happy about build warnings in ''%~nx1''" %MrB-BUILDLOG% ) else ( echo Successful build of ''%~nx1''. echo Successful build of ''%~nx1''. >> %MrB-LOG% ) ) ) else ( echo ERROR ''%1'' doesn''t exist. echo ERROR ''%1'' doesn''t exist. >> %MrB-LOG% ) popd


Si desea ver la línea de comando exacta proporcionada por VS (en lugar de resolverlo), puede intentar reemplazar el MSBuild.exe con su propia aplicación de consola que imprime todos los parámetros en un archivo.

También puede escribir todas las variables de entorno suministradas para verificar cuáles proporciona VS en segundo plano.


Vaya a su menú Programas> Microsoft Visual Studio 2005> Visual Studio Tools> Visual Studio 2005 Command Prompt .

este símbolo del sistema tiene todas las variables de entorno .NET necesarias configuradas para la sesión de línea de comando. Puede cambiar el directorio a su directorio de solución (por ejemplo, c: / projects / mySolution) y ejecutar

Msbuild.exe mySolution.sln

Puede ver las diferentes opciones disponibles usando msbuild /?

Msbuild se encuentra en C: / Windows / Microsoft.NET / Framework / v2.0.50727

En la parte superior de msbuild /? Verificación de opción rápida, puede hacer referencia a la página de referencia de línea de comandos de MSBuild para obtener más explicaciones sobre su uso. Y cómo construir objetivos específicos en soluciones .


Para VS .NET 2003 puede usar devenv.exe para compilar la solución / proyecto desde la línea de comandos.

devenv solutionfile.sln /build solutionconfig

Ej. Uso en archivo por lotes:

call "C:/Program Files/Microsoft Visual Studio .NET 2003/Common7/Tools/vsvars32.bat" devenv Tools.sln /build "Release"


Solo quiero agradecer a Bejoy por el ejemplo. Tuve grandes problemas con la reconstrucción de la solución en el evento de configuración previa a la compilación porque eliminaron la mayoría de las macros y esto me ayudó mucho.

Aquí está mi solución basada en Bejoy (teniendo en cuenta que el archivo .bat se encuentra en la carpeta raíz de configuración que es parte de la solución):

call "%VS100COMNTOOLS%/vsvars32.bat" devenv "%CD%/../soulutionfile.sln" /build "Release"