У меня есть следующий фрагмент кода для замены всех токенов в данном наборе файлов: (Я использую задачу детоксикации расширений msbuild).
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<UsingTask TaskName="MSBuild.ExtensionPack.FileSystem.Detokenise" AssemblyFile="Extensions/MSBuild.ExtensionPack.dll"/>
<PropertyGroup>
<someValueToReplace>New Value</someValueToReplace>
</PropertyGroup>
<ItemGroup>
<TextFiles Include="test1.txt"/>
<TextFiles Include="test2.txt"/>
</ItemGroup>
<Target Name="Build">
<Detokenise TaskAction="Detokenise" TextEncoding="ASCII" TargetFiles="@(TextFiles)"/>
</Target>
</Project>
К сожалению, я получаю следующую ошибку: (Я не получаю эту ошибку, если в ItemGroup существует только один элемент).(Обратите внимание, что я не хочу явно вводить токены, которые я хочу заменить).
"C: \ Users \ v \ Desktop \ msbuildSample \ detokenise.xml" (цель по умолчанию) (1) -> (цель сборки) -> C: \ Users \ v \ Desktop \ msbuildSample \ detokenise.xml (10,3): ошибка: свойство не найдено: toReplace C: \ Users \ v \ Desktop \ msbuildSample \ detokenise.xml (10,3): error: ArgumentException: просмотреть журнал ошибок \ r C: \ Users \ v \Рабочий стол \ msbuildSample \ detokenise.xml (10,3): ошибка: