2010-10-07 12 views
13

Tengo un archivo de solución compuesto por 15 proyectos que utilizan algunas referencias dll de terceros. Quiero ser capaz de construir la solución desde un archivo por lotes. ¿Cuál es la mejor manera de hacer esto?compilar solución .net a partir del archivo de proceso por lotes

Gracias

+0

¿Su objetivo es la automatización de compilación? Si es así, hay muchas herramientas para facilitar esto (más robusto que crear archivos .bat de todos modos). –

+0

@BrandonBoone ¿Cuál es el mejor? – IsmailS

+0

@iSid - Tuve cierto éxito con [Cruise Control] (http://www.cruisecontrolnet.org/) para la automatización de compilación continua. Se integrará con su repositorio de control de código fuente y reconstruirá sus proyectos cuando realice cambios de check-in. Creo que también puede ejecutar sus pruebas unitarias. –

Respuesta

23

Run msbuild - por ejemplo:

msbuild MySolution.sln /p:Configuration=Release /p:Platform="Any CPU" 
+0

Guau .. eso fue fácil ... gracias – stackoverflowuser

3

Una forma de empezar es abrir el proyecto en Visual Studio y seleccione Construir | Reconstruir la solución. Luego ve a Ver | Salida. En la ventana de salida, seleccione "Crear" en el menú desplegable Mostrar opciones de. Esto mostrará los comandos que Visual Studio está usando para construir el proyecto. Puede pegarlos en un archivo por lotes y leerlos o modificarlos según lo desee.

Si desea mantener las versiones de Debug y Release de su aplicación, querrá seleccionar la configuración correcta y luego siga los pasos anteriores para cada versión.

+0

¿Alguien puede explicar el voto negativo? ¿La información no es correcta? ¿No aborda la pregunta? –

+0

Creo que es porque preguntó cómo crear una solución a partir de un archivo por lotes, pero su solución utiliza Visual Studio para realizar una compilación y no responde a su pregunta. –

+0

@TomMiller: solo estoy usando Visual Studio como una forma sencilla de generar el comando por lotes. No le estoy diciendo cómo construirlo en VS. –

16

Una de las formas más sencillas es ejecutar msbuild con el archivo de solución como entrada:

@echo off 
call %windir%\Microsoft.NET\Framework\v4.0.30319\msbuild.exe path\to\solution.sln 

Si esto se hace en un símbolo de Visual Studio puede omitir la ruta a msbuild.exe.

+1

+1 gracias Fredrik – stackoverflowuser

Cuestiones relacionadas