簡體   English   中英

無法將web包部署到臨時文件夾?

[英]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.

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