我已經繼承了一個非常大的VS2012網站項目(而不是Web應用程序),並試圖自動化它的部署。在項目中有大量的循環引用,以便使用aspnet_compiler.exe將其預編譯,我必須打開固定名稱。這樣做的問題是它會導致我的四核,16GB RAM,SSD開發者機器上花費大約20分鐘的時間。以前的開發人員不必處理這個問題,因爲他只是將整個源代碼複製到生產Web服務器。如何使用命令行msbuild部署VS2012網站項目而不進行預編譯?
因此,在處理循環引用問題之前,我想至少使用msdeploy自動部署項目。我可以使用visual studio中的發佈配置文件,它正是我想要的:
- 構建引用的DLL並將它們添加到項目中。
- web.config是否轉換。
- 甚至不嘗試構建網站,但只是打包成一個zip文件給我。
我無法弄清楚我的生活是如何讓MSBuild.exe做同樣的事情!
MSBuild.exe WebProject.vs2012.sln /m /T:Build
/p:Configuration=Release`;DeployOnBuild=true`;PublishProfile=TestDeploy
上面的命令仍然嘗試執行不是我想要的aspnet_compiler。發佈配置文件說它不應該被預編譯......但是在日誌中我看到它正在執行它。
所以:如何在不預編譯的情況下使用msbuild部署網站項目?
太棒了!我一直在尋找一種方法來做這個好幾天!謝謝! – 2013-02-13 15:06:49
我已經看遍了。沒有爲我的項目創建website.publishproj。我有包含Azure SDK的VS2012的Update2。我有相同的命令行問題從TeamCity構建服務器發佈我的項目。 – Syska 2013-05-20 00:58:09
我知道這是舊的,但如果你有一個網站項目,而你只想部署剛登記的文件而不是整個網站。 – 2013-07-05 19:59:45