visual una studio solucion seguro que programacion nombre necesita lenguaje entorno ensamblado ejecutable crear con compilar como c++ python visual-studio-2008 command-line

c++ - una - se necesita un ensamblado con nombre seguro



¿Cómo compilo un proyecto de Visual Studio desde la línea de comandos? (6)

Estoy guionando el ciclo de compra, compilación, distribución, prueba y compromiso para una gran solución de C ++ que utiliza Monotone , CMake , Visual Studio Express 2008 y pruebas personalizadas.

Todas las otras partes parecen bastante sencillas, pero no veo cómo compilar la solución de Visual Studio sin obtener la GUI.

La secuencia de comandos está escrita en Python, pero una respuesta que me permite simplemente hacer una llamada a: os.system haría.


DEVENV funciona bien en muchos casos, pero en un WIXPROJ para construir mi instalador WIX, todo lo que obtuve es un error "CATASTROPHIC" en el registro de salida.

Esto funciona: MSBUILD /Path/PROJECT.WIXPROJ / t: Build / p: Configuration = Release


MSBuild generalmente funciona, pero he tenido dificultades antes. Puedes tener mejor suerte con

devenv YourSolution.sln /Build


Para ser sincero, tengo que agregar mis 2 centavos.

Puedes hacerlo con msbuild.exe . Hay muchas versiones de msbuild.exe .

C: / Windows / Microsoft.NET / Framework64 / v2.0.50727 / msbuild.exe C: / Windows / Microsoft.NET / Framework64 / v3.5 / msbuild.exe C: / Windows / Microsoft.NET / Framework64 / v4.0.30319 / msbuild.exe
C: / Windows / Microsoft.NET / Framework / v2.0.50727 / msbuild.exe C: / Windows / Microsoft.NET / Framework / v3.5 / msbuild.exe C: / Windows / Microsoft.NET / Framework / v4.0.30319 / msbuild.exe

Usa la versión que necesitas Básicamente tienes que usar el último.

C: / Windows / Microsoft.NET / Framework64 / v4.0.30319 / msbuild.exe

Así que cómo se hace.

  1. Ejecute la ventana de comando

  2. Ingrese la ruta a msbuild.exe

C: / Windows / Microsoft.NET / Framework64 / v4.0.30319 / msbuild.exe

  1. Ingrese la ruta a la solución del proyecto como

"C: / Users / Clark.Kent / Documents / visual studio 2012 / Projects / WpfApplication1 / WpfApplication1.sln"

  1. Agregue los indicadores que necesite después de la ruta de la solución.

  2. Presione ENTER

Tenga en cuenta que puede obtener ayuda sobre todas las banderas posibles, como

C: / Windows / Microsoft.NET / Framework64 / v4.0.30319 / msbuild.exe / help


Sé de dos maneras de hacerlo.

Método 1
El primer método (que prefiero) es usar msbuild :

msbuild project.sln /Flags...

Método 2
También puedes ejecutar:

vcexpress project.sln /build /Flags...

La opción vcexpress vuelve inmediatamente y no imprime ningún resultado. Supongo que podría ser lo que quieres para un guión.

Tenga en cuenta que DevEnv no se distribuye con Visual Studio Express 2008 (Pasé mucho tiempo tratando de resolverlo cuando tuve un problema similar).

Entonces, el resultado final podría ser:

os.system("msbuild project.sln /p:Configuration=Debug")

También querrá asegurarse de que las variables de entorno sean correctas, ya que msbuild y vcexpress no están por defecto en la ruta del sistema. Inicie el entorno de compilación de Visual Studio y ejecute su script desde allí, o modifique las rutas en Python (con os.putenv ).


Usar msbuild como lo señalaron otros funcionó para mí, pero necesitaba hacer algo más que solo eso. En primer lugar, msbuild necesita tener acceso al compilador. Esto se puede hacer ejecutando:

"C:/Program Files (x86)/Microsoft Visual Studio 12.0/VC/vcvarsall.bat"

Entonces msbuild no estaba en mi $ PATH, así que tuve que ejecutarlo a través de su ruta explícita:

"C:/Windows/Microsoft.NET/Framework64/v4.0.30319/MSBuild.exe" myproj.sln

Por último, mi proyecto estaba haciendo uso de algunas variables como $(VisualStudioDir) . Parece que esos no se establecen por msbuild así que tuve que configurarlos manualmente a través de la opción /property :

"C:/Windows/Microsoft.NET/Framework64/v4.0.30319/MSBuild.exe" /property:VisualStudioDir="C:/Users/Administrator/Documents/Visual Studio 2013" myproj.sln

Esa línea finalmente me permitió compilar mi proyecto.

Bono : parece que las herramientas de línea de comandos no requieren un registro después de 30 días de usarlas como lo hace la edición comunitaria de Visual Studio basada en la GUI "gratuita". Con el requisito de registro de Microsoft en su lugar, esa versión no es gratuita. Gratis como en Facebook si algo ...