Pregunta

¿Hay alguna manera de compilar un archivo de proyecto .vbproj o .csproj directamente, como lo hace Visual Studio?

Cuando compila en Visual Studio, la " salida " La ventana muestra la llamada real al compilador, que normalmente se ve así:

vbc.exe [grupo de opciones] [lista muuuy larga de archivos .vb]

Me gustaría llamar programáticamente '' algo '' eso tomaría el archivo .vbproj y haría lo que sea que Visual Studio haga para generar esta larga línea de comando. Sé que podría analizar el .vbproj yo mismo y generar esa línea de comando, pero prefiero guardarme toda la ingeniería inversa y prueba y error ...

¿Hay alguna herramienta para hacer esto? Prefiero poder hacerlo en una máquina sin tener instalado Visual Studio. Sin embargo, si hay una manera de llamar a Visual Studio con algunos parámetros para hacerlo, entonces eso también estará bien.

Miré brevemente a MSBuild, y parece que funciona desde un archivo de proyecto .proj que tendría que hacer especialmente, y que necesitaría actualizar cada vez que agregue un archivo al archivo .vbproj. (Lo miré brevemente , así que es muy probable que me haya perdido algo importante)

Cualquier ayuda será muy apreciada

¿Fue útil?

Solución

MSBuild es la forma más fácil de hacerlo. Por ejemplo:

msbuild /property:Configuration=Release MyFile.vbproj

Otros consejos

MSBuild también puede tomar su archivo de solución y usarlo para compilar.

Puede usar MSBUILD o CSC. MSBuild, que como mencionó, utiliza sus archivos de proyecto y solución. CSC compilará archivos específicos, o todos los archivos en un árbol de directorios específico.

También debe considerar automatizar sus compilaciones con NAnt y / o CruiseControl.net.

Además, aquí hay un ejemplo sobre cómo compilar su código sin Visual Studio usando CSC. http://blog.slickedit.com/?p=163

Solo para que sepa que los archivos .vbproj y .csproj son MSBuild. Entonces, todo lo que has leído, puedes aplicarlo directamente a esos archivos.

Sayed Ibrahim Hashimi

Mi libro: Dentro del motor de compilación de Microsoft: Uso de MSBuild y Team Foundation Build

En la carpeta de la solución del proyecto:

msbuild wpfapp1.sln /p:BuildProjectReferences=true

MSbuild generalmente se encuentra en:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319

(o algo similar, dependiendo de la versión)

csc.exe compila archivos, msbuild compila proyectos y soluciones

En la parte superior de un archivo .vbproj hay un. Agregue esta línea al grupo de propiedades para suprimir el tiempo de ejecución de VB:

<NoVBRuntimeReference>On</NoVBRuntimeReference>

MSBuild hace el resto. No es necesario usar la línea de comando si tiene el IDE.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top