2010-07-01 69 views
1

我正在使用visual studio 2010.我有一個網站項目,我希望在每次構建項目時構建一個網站部署包。基本上我正在尋找一個後構建MSBuild命令的例子,它基本上和網站的右鍵菜單中的「Build Deployment Package」選項一樣。構建網站部署包作爲後構建事件

+0

真的,我們要做的是將2個網站項目和2個databaseGeneration項目的輸出打包到一個文件夾中。也許有更好的方法來做到這一點。 結構
WEBSITE1
websiteDeployment
sqlScripts
WEBSITE2
websiteDeployment
sqlScripts
2010-07-01 15:53:11

回答

8

我假定您正在使用Web應用程序項目,因爲Web站點項目沒有「構建部署包」。

我會建議不要在每個版本上執行一個包,因爲它會大幅減慢你的開發速度。有了這個說法,你可以在這裏做到這一點。

如果你確實想要做到這一點,最好的辦法不是使用後生成事件,而是編輯項目文件並擴展構建過程。要做到這一點打開的.csproj文件爲您的網頁,然後向底部(導入元素後)將下列

<PropertyGroup> 
    <BuildDependsOn> 
    $(BuildDependsOn); 
    Package 
    </BuildDependsOn> 
</PropertyGroup> 

這樣做是擴展構建過程,調用目標。這與您在Visual Studio中調用「構建部署包」目標時調用的目標相同。

+1

這是行不通的。有一個涉及目標「Build」的循環依賴項。 (包調用構建,構建調用包...) – 2010-07-01 14:58:59

+1

@madgnome你有錯誤信息?我只是試過這個。 – 2010-07-01 15:48:07

+0

錯誤MSB4006:涉及目標「Build」的目標依賴關係圖中存在循環依賴項。 – 2010-07-01 15:50:40