我想創建一個PowerShell v5腳本來構建和發佈VS2017 WCF Web服務應用程序(.NET Framework 4),以便我可以在Bamboo中自動執行它。我有msbuild命令工作,正確構建,現在我需要使用FolderProfile發佈項目到一個文件夾。如何自動化Visual Studio 2017 Web項目發佈到文件夾
我可以通過右鍵單擊項目並選擇發佈,然後選擇FolderProfile,手動執行成功。這會將需要部署的文件放入項目的bin \ Release \ PublishOutput位置中的網站。我想在Powershell腳本中自動執行發佈操作。
我試過了Sayed Hashimi's這個網站的建議,這個網站和下面類似(我只是用VS2017版本15.2,當然用我的實際值替換了項目名稱和配置文件)。
msbuild MyProject.csproj /p:DeployOnBuild=true /p:PublishProfile=<profile-name> /p:Password=<insert-password> /p:VisualStudioVersion=15.2
但是,這並沒有在bin\Release\PublishOutput
位置放置任何文件。它看起來只是做了一個標準的構建。
編輯:
的msbuild列表這一行中,當我運行上述命令的輸出;
DeploymentUnpublishable:
Skipping unpublishable project.
我已經通過this後GitHub上顯得有些已經列舉了解決方案升級到VS2017,我已經做的v15.2;
Microsoft Visual Studio Enterprise 2017
Version 15.2 (26430.16) Release
任何想法?
編輯 - 解決方案
@獅子座-MSFT提供這種解決方案
msbuild myproject\myproject.vbproj /p:DeployOnBuild=true /p:PublishProfile=FolderProfile.pubxml /p:Configuration=Release
這把文件放到BIN \發佈\ PublishOutput。
我花了好幾天尋找這個解決方案,我又增加了其他建議SO各種命令的參數和GitHub的論壇帖子,如/t:Publish
,/p:PublishProfileRootFolder
和/p:VisualStudioVersion=15.2
。我刪除了那些,只是使用上面最後創建我需要的發佈輸出的行。
這很好地解決了這個問題。我的最終命令行以msbuild myproject \ myproject.vbproj/p結尾:DeployOnBuild = true /p:PublishProfile=FolderProfile.pubxml/p:Configuration = Release。這將文件放入bin \ release \ PublishOutput。謝謝 – EiEiGuy