我正在尝试创建一个 msbuild 项目,其中从文本文件中读取依赖信息。我有一个名为 project.dep 的文本文件,其中包含一个以分号分隔的项目名称列表。在此示例中,文件包含 a;b;c;d
我希望下面的代码生成两个相同的项目列表:
<PropertyGroup>
<from_file>$([System.IO.File]::ReadAllText($(ProjectName).dep))</from_file>
<inline>a;b;c;d</inline>
</PropertyGroup>
<ItemGroup>
<from_file_items Include="$(from_file)" />
<inline_items Include="$(inline)" />
</ItemGroup>
<Target Name="Test">
<Message Text="file: @(from_file_items->'%(filename).item')" />
<Message Text="inline: @(inline_items->'%(filename).item')" />
</Target>
但结果不同:
Test:
file: a;b;c;d.item
inline: a.item;b.item;c.item;d.item
这不是我所期望的。我需要将文件中的每个名称映射到一个单独的项目。有任何想法吗?