通过命令行构建Visual Studio项目

use*_*774 31 c# command cmd build windows-server-2008

我从Windows Server 2008安装运行ASP.NET网站,我喜欢通过命令行编辑页面,因为我进入服务器.

我在服务器上安装了Vim,以便我可以轻松编辑文件.如果我编辑HTML和CSS以及.aspx页面,则更新成功.但如果我想编辑源代码,我将不得不重建项目.重建项目可以很好地重新编译所有内容并更新Web上的副本.这是一个开发服务器,所以一切都很好,因为没有人看到这个服务器.

如何通过命令行构建项目以更新源代码并在服务器上构建?

该项目是用C#编写的,文件都在wwwroot文件夹中,因此构建后不需要进行文件移动.

gra*_*der 41

创建一个名为:Manual_MSBuild_ReleaseVersion.bat的.bat文件

把它放在.bat文件中.

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=
Run Code Online (Sandbox Code Playgroud)

您可以构建.sln文件或.csproj文件.MySolution.sln或MyProject.csproj

有关详细信息,请参见如何:使用MSBuild创建Web包.

你可以更进一步:

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\
Run Code Online (Sandbox Code Playgroud)

这样,你删除一个目录(只是为了确保你得到一个超级干净的构建),创建它,构建解决方案/项目,然后将构建的结果复制到新目录.

每次都超级新鲜.如果构建爆炸,\ BuildResults目录为空.

还有一个微妙的小指标,\ BuildResults目录的日期时间是您最后一次构建(或尝试构建)解决方案/项目.微妙,但有时很有帮助.

  • 另一个有用的设置是`/ t:Clean,Build`这将清理并重建`msbuild.exe MySolution.sln/t:Clean,Build` (3认同)
  • 使用Visual Studio命令提示符,我能够在不创建.bat文件的情况下构建我的解决方案.`MSBuild"MySolution.sln"/ P:Configuration = Debug` (2认同)

And*_*uiz 10

也许用这个命令:

  >> devenv myproject.sln /Build "Release|x86"
Run Code Online (Sandbox Code Playgroud)

您可以在"C:\ Program Files(x86)\ Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe"路径中找到devenv.


Ash*_*Ash 9

我上面用@granadaCoder修改了答案.

对于.NET 4.5版本,没有相应的构建目录

%WINDIR%\ Microsoft.NET \框架\

并且使用MSBuild作为旧框架将不允许您编译更新的构造,如插值字符串.

为了解决这个问题,你需要安装最新的MS Build Tools(目前2015年),并使用MSBuild.exe

%PROGRAMFILES(x86)的%\的MSBuild\14.0 \宾

  • 感谢您使答案保持最新。.......msbuild.exe的位置发生了变化。 (2认同)

Dav*_*d M 2

安装 .NET SDK 并使用 MsBuild.exe 命令行工具。这是 Visual Studio 在构建项目或解决方案时使用的内容。