我有以下的任務,這是因爲DestinationFiles和DestionationFolder的組合不工作,但它抓住的是我想做的概念:的MSBuild遞歸複製爲%(ConfigurationToBuild.PlatformToBuild)
<CreateItem Include="$(Destination)\**\*.Generated.*.*">
<Output TaskParameter="Include" ItemName="GeneratedFiles" />
</CreateItem>
<Copy Condition=" '%(ConfigurationToBuild.FlavorToBuild)'=='Debug-All' Or '%(ConfigurationToBuild.FlavorToBuild)'=='Release-WebService' "
SourceFiles="@(GeneratedFiles)"
DestinationFiles="@(GeneratedFiles->'%(RecursiveDir)%(Filename)%(Extension)')"
DestinationFolder="$(BinariesRoot)\%(ConfigurationToBuild.PlatformToBuild)\%(ConfigurationToBuild.FlavorToBuild)"
/>
所以我有一組正在生成的文件(數據,而不是代碼),這些文件需要複製到最終的二進制文件位置。
在此版本中,我一次構建3個配置:全部調試版本,發佈客戶端版本和發佈WebService。原因是保持相同的內部版本號和完全相同的代碼庫,同時讓客戶端和WebService項目「發佈」,然後由安裝項目獲取。
如果我嘗試使用: DestinationFiles =「@(GeneratedFiles- >「$(BinariesRoot)\%(ConfigurationToBuild.PlatformToBuild)\%(ConfigurationToBuild.FlavorToBuild)\%(RecursiveDir)%(文件名)%(分機)')「
MSBuild在%(ConfigurationToBuild.FlavorToBuild)部件上引發錯誤。