c# - tutorial - Compilar proyecto de Visual Studio a través de la línea de comando
visual studio code c# (4)
Instale .NET SDK y use la herramienta de línea de comandos MsBuild.exe. Es lo que Visual Studio usa cuando construyes un proyecto o solución.
Estoy ejecutando un sitio web ASP.NET desde una instalación de Windows Server 2008, y me gusta editar las páginas a través de la línea de comandos desde que ingreso al servidor.
Instalé Vim en el servidor para poder editar los archivos fácilmente. Si edito páginas HTML, CSS y .aspx, las actualizaciones son exitosas. Pero si quiero editar el código fuente tendré que reconstruir el proyecto. La reconstrucción del proyecto recompila todo muy bien y actualiza la copia en la web. Este es un servidor de desarrollo, por lo que las actualizaciones de todo están bien ya que nadie ve este servidor.
¿Cómo puedo construir el proyecto a través de la línea de comando para actualizar el código fuente y construir en el servidor?
El proyecto está escrito en C # y todos los archivos están en la carpeta wwwroot
por lo que no es necesario mover archivos después de una compilación.
Tal vez con este comando:
>> devenv myproject.sln /Build "Release|x86"
Puede encontrar devenv en la ruta "C: / Archivos de programa (x86) / Microsoft Visual Studio 10.0 / Common7 / IDE / devenv.exe".
Usé una modificación de la respuesta por @granadaCoder anterior.
Para .NET versión 4.5 en adelante, no hay un directorio de compilación correspondiente en
% WINDIR% / Microsoft.NET / Framework /
y el uso de MSBuild para un marco anterior no le permitirá compilar construcciones más nuevas como cadenas interpoladas.
Para evitar esto, deberá instalar las últimas MS Build Tools
(2015 actualmente) y usar MSBuild.exe
en
% programfiles (x86)% / MSBuild / 14.0 / Bin
Cree un archivo .bat llamado: Manual_MSBuild_ReleaseVersion.bat
Pon esto en el archivo .bat.
REM set msBuildDir=%WINDIR%/Microsoft.NET/Framework/v3.5
set msBuildDir=%WINDIR%/Microsoft.NET/Framework/v4.0.30319
call %msBuildDir%/msbuild.exe MySolution.sln /p:Configuration=Release /l:FileLogger,Microsoft.Build.Engine;logfile=Manual_MSBuild_ReleaseVersion_LOG.log
set msBuildDir=
Puede construir un archivo .sln o un archivo .csproj. MySolution.sln o MyProject.csproj
Consulte Cómo: Usar MSBuild para crear un paquete web para obtener más información.
Puedes dar un paso más:
rd ./BuildResults /S /Q
md ./BuildResults
rd ./MyProject/Bin/Release /S /Q
REM set msBuildDir=%WINDIR%/Microsoft.NET/Framework/v3.5
set msBuildDir=%WINDIR%/Microsoft.NET/Framework/v4.0.30319
call %msBuildDir%/msbuild.exe MySolution.sln /p:Configuration=Release /l:FileLogger,Microsoft.Build.Engine;logfile=Manual_MSBuild_ReleaseVersion_LOG.log
set msBuildDir=
XCOPY ./MyProject/Bin/Release/*.* ./BuildResults/
De esta forma, elimina un directorio (solo para asegurarse de obtener una compilación súper limpia), lo crea, crea la solución / proyecto y luego copia los resultados de la compilación en el directorio nuevo.
Súper fresco, todo el tiempo. Y si la construcción explota, el directorio / BuildResults está vacío.
Y un pequeño indicador sutil, la fecha del directorio / BuildResults es la última vez que compiló (o intentó compilar) la solución / proyecto. Sutil, pero a veces útil.