Dot-Net
使用 MSBuild,我如何從命令行建構 MVC4 解決方案(在過程中應用 Web.config 轉換)並輸出到文件夾?
我認為問題標題幾乎說明了一切,但為了清楚起見,我試圖:
- 從命令行 (MSBuild) 建構 VS2010 ASP.NET MVC4 解決方案,指定解決方案配置(例如發布)
- 在此過程中為該配置應用任何 Web.config 轉換
- 將結果輸出到本地電腦上的文件夾中(沒有 IIS、代理、zip 文件、FTP、包等,只是一個包含執行該網站所需的所有文件的文件夾)
近一周以來,我一直在嘗試通過 Microsoft 文件(非常無用)、關於 SO 和一般Google搜尋的其他答案來解決這個問題。我不知道我是否只是沒有得到它(這完全有可能),或者 MSBuild/MSDeploy 是否真的是它目前看起來的神秘混亂。
有沒有一種相當簡單的方法來實現這一目標?請幫忙!
如果您執行的是 VS2010:確保安裝了 Azure 1.7+ SDK(即使您沒有發佈到 Azure,它也會將 VS2012 發布功能添加到 VS2010)
VS2012+ 內置了這些功能
msbuild ProjectFile.csproj /p:Configuration=Release ^ /p:Platform=AnyCPU ^ /t:WebPublish ^ /p:WebPublishMethod=FileSystem ^ /p:DeleteExistingFiles=True ^ /p:publishUrl=c:\output或者,如果您正在建構解決方案文件:
msbuild Solution.sln /p:Configuration=Release ^ /p:DeployOnBuild=True ^ /p:DeployDefaultTarget=WebPublish ^ /p:WebPublishMethod=FileSystem ^ /p:DeleteExistingFiles=True ^ /p:publishUrl=c:\output無論哪種方式,您還可以設置
/p:PrecompileBeforePublish=true並且輸出將是站點的預編譯版本。安裝 Azure SDK 後,您通常會創建一個發布配置文件並簡單地使用
/p:PublishProfile=DeployToFolder,但我已經為您提供了手動命令行,以防您對新的發佈內容不感興趣。