![](/img/trans.png)
[英]How to create MSdeploy Package using MSBuild for all files in this project folder
[英]Can't msdeploy web package to temporary folder?
我們有一個Asp.Net網絡應用程序,我們試圖偽部署到一個文件夾,我開始認為微軟是瘋了 - 為什么讓WAP做這么難“本地文件系統“部署為MSBuild的一部分?
我可以用這個構建:
msbuild .\SubSite.csproj "/p:Platform=AnyCPU;Configuration=Release" /t:Package
並獲得一個很好的package.zip,我可以部署到一個網站...
但是,我的解決方案中有兩個項目,在我發布之前需要將它們合並,所以我想將這兩個軟件包部署到一個文件夾中,然后重新打包該文件夾。 盡管文檔 TechNet上,相反 ,它似乎並不可能做到:
msdeploy -verb:sync -source:package=.\SubSite.zip -dest:contentPath=.\Www\SubSite
因為你得到錯誤:
源(sitemanifest)和目標(contentPath)與給定操作不兼容。
有沒有人建議我如何在不手動從“PackageTmp”文件夾中復制文件的情況下將兩個站點相互部署在一起? 我的意思是,我知道我可以跳過壓縮包並手動復制文件來執行此操作,但我不滿意必須創建自定義目標,並且沒有其他方法可以找到這樣做應該內置的東西。
我們最終弄清楚如何做到這一點,但我對此並不高興;-)
基本上,(如上所述),您可以調用msbuild,並將目標設置為_WPPCopyWebApplication。 您也可以在執行此操作時指定/覆蓋WebProjectOutputDir屬性。 像這樣的東西(其中$ {name}是我們正在使用的變量)
msbuild ${SourcePath}\Www\UI\UI.csproj "/p:Platform=AnyCPU;Configuration=Release;WebProjectOutputDir=${OutputPath}\AppRoot" "/t:_WPPCopyWebApplication"
msbuild ${SourcePath}\Www\Mobile\Mobile.csproj "/p:Platform=AnyCPU;Configuration=Release;WebProjectOutputDir=${OutputPath}\AppRoot\Mobile" "/t:_WPPCopyWebApplication"
msbuild ${SourcePath}\Www\Service\WebService.csproj "/p:Platform=AnyCPU;Configuration=Release;WebProjectOutputDir=${OutputPath}\AppRoot\WebServices" "/t:_WPPCopyWebApplication"
然后我們可以在單獨的步驟中打包整個“AppRoot”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.