我有以下代码来替换给定文件集中的所有标记: (我正在使用msbuild扩展detokenise任务)。
<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) - &gt; (构建目标) - &gt; C:\ Users \ v \ Desktop \ msbuildSample \ detokenise.xml(10,3):错误:找不到属性:toReplace C:\ Users \ v \ Desktop \ msbuildSample \ detokenise.xml(10,3):错误:ArgumentException:查看错误日志\ r \ n C:\ Users \ v \ Desktop \ msbuildSample \ detokenise.xml(10,3):错误:
答案 0 :(得分:0)
我的错误..我认为这是msbuild中的一个错误..实际上问题正是错误消息所指示的 - 我试图替换一个名为toReplace的变量 - 但它没有被定义。