我正在研究一個MSBuild腳本,它的任務是構建解決方案,然後將兩個項目的構建輸出複製到統一目錄中。夠簡單。關於MSBuild ItemGroup的內容困惑
我正在用複製任務完成此任務。像這樣:
<ItemGroup>
<OutputFiles1 Include="Project1\bin\Release\*.*" />
<OutputFiles2 Include="Project2\bin\Release\*.*" />
</ItemGroup>
<Target CopyOutput>
<Copy SourceFiles="@(OutputFiles1)" DestinationFolder="DeployOutput" />
<Copy SourceFiles="@(OutputFiles2)" DestinationFolder="DeployOutput" />
</Target>
我遇到的問題是這樣的:兩個的ItemGroup元素包含在目錄中的內容時,構建腳本開始,而不是當溶液建立該目錄的內容完成。
因此,例如,如果我將Project1中的引用添加到新程序集中,然後運行構建,則DeployOutput目錄不包含該新程序集,因爲它在構建開始時不存在於項目輸出目錄中。但是如果我再次運行版本該文件在那裏並被複制。
這似乎是這樣的行爲是設計,但我不確定如何完成我的任務,而不會產生到一個批處理文件或類似的副本。
謝謝。我的女朋友現在也感謝你,我不再需要沮喪地禿頂。 –
在這種情況下:向我的女朋友打個招呼,我希望在這裏有更多的無憂無慮的日子:] – stijn