2016-08-18 73 views
0

與此處的問題類似:Copy one file in target directory on deploy from visual studio team services,我試圖通過VSTS構建版本複製ClickOnce應用程序的app.publish目錄的內容。在VSTS中複製app.publish文件夾構建/發佈

這是複製發佈生成 Copy Publish Artifact Step

這顯然在輸出bin文件夾中的服務器共享文件夾滴一切神器一步。

這是發佈 Copy Files Step

這隻複製的app.publish文件夾中的文件的複製文件的一步,但它構建出整個層級的文件夾app.publish文件夾;但是,它構建了完整的文件夾結構。即bin \ Release \ app.publish或bin \ Debug \ app.publish。

我喜歡能夠發佈和存儲不同配置(調試/發佈)的想法,但我不喜歡我不得不在msbuild參數中指定InstallUrl以獲取調試/發佈文件夾路徑。即使我沒有嘗試維護多個配置,配置仍然在路徑中。

所以我的問題是:有沒有辦法使用複製文件任務來將app.publish文件夾和/或內容複製到另一個位置,而不需要創建完整的層次結構?

回答

0

你需要指定複製文件的源文件夾的副本的根目錄,在你的榜樣,複製根應該是這樣的:

源文件夾:$(System.DefaultWorkingDirectory)\$(Build.DefinitionName)\bin\$(BuildConfiguration)\

內容:**\app.publish\**

這樣,您應該只在目標文件夾中有app.publish。

+0

的$(BuildConfiguration)變量是不是在釋放複製文件的步驟可以無需手動創建它。不過,我希望發佈定義能夠從與發佈定義相關聯的構建的任何構建配置中撤出。 –

+0

如何在構建定義中使用此步驟並將app.publish文件夾與其他輸出放在一起。 –

0

將構建定義中的「複製發佈構件」步驟的「複製根」步驟配置爲構建配置文件夾的路徑,將「內容」配置爲「**」。

例如,如果你的構建輸出的路徑是:

C:\ A \ 1 \ S \ SolutionFolder \ ProjectFolder \ BIN \ RELASE \ app.publish ...

您可以設置複製到根:

$(build.sourcesdirectory)\ SolutionFolder \ ProjectFolder \ BIN \ $(BuildConfiguration)

和內容設置爲:

**

相關問題