Compilar un archivo de proyecto .vbproj o .csproj sin Visual Studio
-
06-07-2019 - |
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
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.