簡體   English   中英

通過命令行構建 Visual Studio 項目

[英]Build Visual Studio project through the command line

我正在從 Windows Server 2008 安裝運行 ASP.NET 網站,自從我通過 ssh 進入服務器后,我喜歡通過命令行編輯頁面。

我在服務器上安裝了Vim ,以便我可以輕松地編輯文件。 如果我編輯 HTML 和 CSS 以及 .aspx 頁面,則更新成功。 但是如果我想編輯源代碼,我將不得不重建項目。 重建項目可以很好地重新編譯所有內容並更新網絡上的副本。 這是一個開發服務器,所以更新一切都很好,因為沒有人看到這個服務器。

如何通過命令行構建項目以更新源代碼並在服務器上構建?

該項目是用 C# 編寫的,文件都在wwwroot文件夾中,因此構建后不需要進行文件移動。

創建一個名為: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=

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

有關詳細信息,請參閱如何:使用 MSBuild 創建 Web 包

你可以更進一步:

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\

這樣,你刪除一個目錄(只是為了確保你得到一個超級干凈的構建),創建它,構建解決方案/項目,然后將構建的結果復制到新目錄。

每次都超級新鮮。 如果構建失敗,\\BuildResults 目錄是空的。

還有一個微妙的小指標,\\BuildResults 目錄的日期時間是您最后一次構建(或嘗試構建)解決方案/項目的時間。 微妙,但有時很有幫助。

也許用這個命令:

  >> devenv myproject.sln /Build "Release|x86"

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

我使用了上面@granadaCoder 對答案的修改。

對於 .NET 4.5 及以后的版本,在

%WINDIR%\\Microsoft.NET\\Framework\\

並且將 MSBuild 用於較舊的框架不會讓您編譯較新的構造,例如內插字符串。

為了解決這個問題,你需要安裝最新的MS Build Tools (目前2015年),並使用MSBuild.exe

%programfiles(x86)%\\MSBuild\\14.0\\Bin

安裝 .NET SDK 並使用 MsBuild.exe 命令行工具。 這是 Visual Studio 在生成項目或解決方案時使用的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM