使用MSBuild,我需要將轉換配置文件複製到各個子目錄。「DestinationFiles」是指4個項目,「SourceFiles」是指1個項目。他們必須具有相同數量的項目
我有低於我的目標的身體
<ItemGroup>
<EnvironmentDirectory Include="Environment\BackUp_Recovery\"/>
<EnvironmentDirectory Include="Environment\IST\"/>
<EnvironmentDirectory Include="Environment\Production\"/>
<EnvironmentDirectory Include="Environment\UAT\"/>
</ItemGroup>
<!-- Copy task to copy file to environment folders -->
<Copy SourceFiles="$(IntermediateOutputPath)$(TargetFileName).config"
DestinationFiles="@(EnvironmentDirectory -> '@(EnvironmentDirectory)$(TargetFileName).config')"
SkipUnchangedFiles="true">
<Output TaskParameter="CopiedFiles" ItemName="SuccessfullyCopiedFiles" />
</Copy>
原樣,我收到以下錯誤消息中的代碼。
「DestinationFiles」是指4個項目,「SourceFiles」是指1個項目。他們必須有相同數量的項目。
當我看輸出窗口,我遵守以下
2>任務 「複製」(TASKID:73) 2>任務參數:SourceFiles = OBJ \發佈\ AIT.UI.WinForm 2> @(EnvironmentDirectory)AIT.UI.WinForm.exe.config 2> @(EnvironmentDirectory)AIT.UI.WinForm.exe(TaskId:73) 2>任務參數: 2> DestinationFiles = 2 .config 2> @(EnvironmentDirectory)AIT.UI.WinForm.exe.config 2> @(EnvironmentDirectory)AIT.UI.WinForm.exe.config(TaskId:73) 2>任務參數:SkipUnchangedFiles = True(TaskId:73) 2> C:\ AITDevelopment \ AIT.UI.WinForm \ AIT.UI.WinForm.csproj(634,5):錯誤MSB3094:「DestinationFiles」指4個項目,「SourceFiles」是指1項。他們必須有相同數量的項目。 2>完成執行任務「複製」 - 失敗。 (TaskId:73)
我希望在解決此問題上有任何幫助。謝謝。
密切關注%(item.metadata)和@(item - >'%(metadata)'之間的差異) – Nicodemeus