Build Visual Studio project through the command line

后端 未结 4 776
故里飘歌
故里飘歌 2020-11-30 01:51

I am running an ASP.NET website from a Windows Server 2008 installation, and I like to edit the pages through the command line since I ssh into the server.

I install

4条回答
  •  旧时难觅i
    2020-11-30 02:28

    Create a .bat file called: Manual_MSBuild_ReleaseVersion.bat

    Put this in the .bat file.

    REM you'll have to find the "latest" version of where msbuild.exe resides on your machine.. here are some popular versions/locations
    REM set msBuildDir=%WINDIR%\Microsoft.NET\Framework\v2.0.50727
    REM set msBuildDir=%WINDIR%\Microsoft.NET\Framework\v3.5
    REM set msBuildDir=%WINDIR%\Microsoft.NET\Framework\v4.0.30319
    REM set msBuildDir=C:\Program Files (x86)\MSBuild\12.0\Bin
    set msBuildDir=C:\Program Files (x86)\MSBuild\14.0\Bin
    
    call "%msBuildDir%\msbuild.exe"  MySolution.sln /p:Configuration=Release /l:FileLogger,Microsoft.Build.Engine;logfile=Manual_MSBuild_ReleaseVersion_LOG.log
    set msBuildDir=
    

    You can build a .sln file or a .csproj file. MySolution.sln or MyProject.csproj

    See How to: Use MSBuild to Create a Web Package for more information.

    You can take it one step further:

    rd .\BuildResults /S /Q
    md .\BuildResults
    rd .\MyProject\Bin\Release  /S /Q
    
    REM you'll have to find the "latest" version of where msbuild.exe resides on your machine.. here are some popular versions/locations
    REM set msBuildDir=%WINDIR%\Microsoft.NET\Framework\v2.0.50727
    REM set msBuildDir=%WINDIR%\Microsoft.NET\Framework\v3.5
    REM set msBuildDir=%WINDIR%\Microsoft.NET\Framework\v4.0.30319
    REM set msBuildDir=C:\Program Files (x86)\MSBuild\12.0\Bin
    set msBuildDir=C:\Program Files (x86)\MSBuild\14.0\Bin
    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\
    

    That way, you remove a directory (just to make sure you get a super clean build), create it, build the solution/project and then copy the results of the build to the fresh directory.

    Super fresh, every time. And if the build blows up, the \BuildResults directory is empty.

    And a subtle little indicator, the datetime of the \BuildResults directory is the last time you built (or tried to build) the solution/project. Subtle, but sometimes helpful.

提交回复
热议问题