visual-studio - snippet - visual studio code format code
¿Cómo se automatiza una compilación de Visual Studio? (11)
Tuve que hacer esto para un proyecto de C ++ en Visual Studio 2003, así que no sé cuán relevante es esto para la versión posterior de Visual Studio:
En el directorio donde se crea el ejecutable, habrá un archivo BuildLog.htm
. Abra ese archivo en su navegador y luego para cada sección, como por ejemplo:
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"
crea un archivo .rsp con el contenido entre corchetes (pero sin incluir los corchetes) y llámalo como quieras. Parece que recuerdo haber tenido problemas con las rutas absolutas, por lo que es posible que deba asegurarse de que todas las rutas sean relativas.
Luego, en su script de compilación, agregue la línea de comando desde el archivo BuildLog.htm
pero con su nombre de archivo .rsp:
cl.exe @autobuild01.rsp /nologo
(tenga en cuenta que también habrá una sección link.exe así como cl.exe)
¿Cómo se convierte una compilación de Visual Studio que se llevaría a cabo en el IDE en una secuencia de comandos que se puede ejecutar desde la línea de comandos?
/Windows/Microsoft.NET/Framework/[YOUR .NET VERSION]/msbuild.exe
Muchos parámetros de línea de comandos, pero el más simple es simplemente:
msbuild.exe yoursln.sln
Con VS2008 puede hacer esto:
devenv solution.sln /build configuration
Eche un vistazo a UppercuT. Tiene mucho dinero por su dinero y hace lo que está buscando y mucho más.
UppercuT usa NAnt para construir y es el Framework de construcción terriblemente fácil de usar.
¡Las compilaciones automatizadas son tan sencillas como (1) nombre de la solución, (2) ruta de control de origen, (3) nombre de la empresa para la mayoría de los proyectos!
Algunas buenas explicaciones aquí: UppercuT
Aquí está mi archivo de proceso por lotes utilizando msbuild para la configuración de depuración VS 2010 :
"C:/Windows/Microsoft.NET/Framework/v4.0.30319/msbuild.exe"
iTegra.Web.sln /p:Configuration=Debug /clp:Summary /nologo
La forma más simple: navegue hasta el directorio que contiene la solución o el archivo de proyecto, y ejecute msbuild
(suponiendo que tenga Visual Studio 2005 o posterior).
Formas más flexibles:
- Lea sobre la referencia de MSBuild . Hay toneladas de personalización, especialmente una vez que haya instalado el proyecto de tareas de comunidad de MSBuild .
- Use NAnt . Ha existido por más tiempo que MSBuild y tiene más soporte de la comunidad, pero requiere que inicies un archivo de proyecto desde cero, en lugar de extender el existente, creado por Visual Studio.
A partir de Visual Studio 2005 , todos los archivos de proyecto (al menos para proyectos basados en .NET) son archivos de MSBuild reales, por lo que puede llamar a MSBuild en la línea de comandos y pasarle el archivo de proyecto.
La conclusión es que debe usar un "lenguaje de creación de secuencias de comando " como NAnt o MSBuild (hay otros, pero estos son los principales en este momento) si desea tener un control real sobre su proceso de construcción.
Aquí está el script que estoy usando para automatizar por completo la construcción de línea de comando de las configuraciones x86 Y x64 para la misma solución a través de scripts por lotes.
Esto se basa en DevEnv.exe, ya que funciona si tiene un proyecto de instalación en su compilación (msbuild no es compatible con la construcción de proyectos de configuración).
Supongo que su configuración es Windows 7 de 32 bits con la instalación de Visual Studio 2010 utilizando el compilador nativo x86 y el compilador cruzado x64. Si está ejecutando Windows de 64 bits, puede necesitar cambiar x86_amd64 por amd64 en el script por lotes, dependiendo de su configuración. Esto supone que Visual Studio está instalado en Archivos de programa y que su solución se encuentra en D: / MySoln
Crea un archivo llamado buildall.bat y agrégalo :
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
Ahora crea 2 scripts por lotes más:
crosscompilex86.bat para compilar la versión de lanzamiento de una compilación x86 e incluir esto
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 para compilar la versión de lanzamiento de la compilación x64 e incluir esto
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%
Ahora coloque los 3 archivos por lotes en la carpeta de la solución junto con MySoln.sln. Puede compilar versiones de versiones x86 y x64 creando un acceso directo en su escritorio que ejecute los siguientes comandos:
- Build All -> D: / MySoln / buildall.bat
- Generar versión x86 solo -> D: / MySoln / buildall.bat x86
- Generar versión x64 solo -> D: / MySoln / buildall.bat x64
Si está utilizando otra configuración como AnyCPU, etc., deberá personalizar los scripts anteriores en consecuencia.
Una forma más simple es cambiar la configuración de proyectos y soluciones de VS 2015: vaya a la pestaña Herramientas -> Opciones -> Proyectos y soluciones -> Crear y ejecutar -> En ejecución, cuando los proyectos estén desactualizados (elija Crear siempre). VOILA!
Ahora su IDE construirá automáticamente su proyecto cuando lo ejecute (F5). Espero que esto ayude, cualquier comentario es bienvenido.
NAnt y MSBuild son las herramientas más populares para automatizar su compilación en .NET , y puede encontrar una discusión sobre las ventajas y desventajas de cada una de ellas en la herramienta de compilación Best .NET de pregunta de .