0
我正在使用MSBuild擴展包。我想將構建目錄的全部內容複製到文件系統上的另一個目錄。我不想重命名目標目錄,只需更換內容即可。這可能是我對msbuild extensionpack不熟悉,但似乎這應該很容易,我一直無法在網上找到現成的文檔。MSBuild擴展包將目錄中的所有內容複製到另一個
我試圖設置一個服務,在成功構建後自動部署在持續集成環境中。
我正在使用MSBuild擴展包。我想將構建目錄的全部內容複製到文件系統上的另一個目錄。我不想重命名目標目錄,只需更換內容即可。這可能是我對msbuild extensionpack不熟悉,但似乎這應該很容易,我一直無法在網上找到現成的文檔。MSBuild擴展包將目錄中的所有內容複製到另一個
我試圖設置一個服務,在成功構建後自動部署在持續集成環境中。
據我記得,你需要清除和複製分開的步驟。因此,先刪除/清除,然後複製。我無法(在我上次做的時候)找到一種「覆蓋」的方法。這實際上對我們來說更好,因爲一個版本可能會刪除以前版本中包含的文件,因此我們不希望它們「流連忘返」。
要刪除,請嘗試(假設DeploymentDesintationPath與路徑的屬性):
<MSBuild.ExtensionPack.FileSystem.Folder
TaskAction="RemoveContent"
path="$(DeploymentDestinationPath)" />
,然後複製(請注意,你需要來填充的ItemGroup源和目的地兩者)
<ItemGroup>
<DeploymentSourceFiles
Include="$(BuildFolder)\**\*"
/>
<DeploymentDestinationFiles
Include="@(DeploymentSourceFiles->
'$(DeploymentDestinationPath)\%(RecursiveDir)%(Filename)%(Extension)')"
/>
</ItemGroup>
<Copy SourceFiles="@(DeploymentSourceFiles)"
DestinationFiles="@(DeploymentDestinationFiles)" />
我幾個月沒有這樣做過,所以如果這些例子中的任何一個都需要調整一下的話。
不需要赦免,它工作完美。它是通過我進行循環的DeploymentDestinationFiles屬性包含的語法。謝謝! – aceinthehole 2011-01-29 20:39:59