使用通配符将文件包含到Visual Studio中的文件夹中

时间:2009-09-01 20:04:33

标签: visual-studio msbuild

我正在使用

<ItemGroup>
  <EmbeddedResource Include="..\..\resources\hbm\*.hbm.xml" />
</ItemGroup>

将一堆xml文件包含到我的C#项目中。工作正常。

但是,我不希望它们出现在我项目的“根级”中,我宁愿在项目的子文件夹中看到它们。

例如,此文件包含在Visual Studio中的Mapping文件夹中:

<ItemGroup>
  <EmbeddedResource Include="Mapping\User.hbm.xml" />
</ItemGroup>

这就是我想要的*.hbm.xml文件。

我无法弄清楚如何做到这一点,仍然保留我的通配符*.hbm.xml部分,并将实际文件保存在不同的目录中。

我查看了MSDN关于MSBUILD和项目的文档,但没有运气。

1 个答案:

答案 0 :(得分:5)

我认为你不能同时使用链接和通配符。

您可以使用此表示法链接以在Visual Studio中的Mapping文件夹中包含User.hbm.xml文件:

<ItemGroup>
  <EmbeddedResource Include="..\..\resources\hbm\User.hbm.xml">
    <Link>Mapping\User.hbm.xml</Link>
  </EmbeddedResource>
</ItemGroup>

但你不能这样做

<ItemGroup>
  <EmbeddedResource Include="..\..\resources\hbm\**\*.hbm.xml">
    <Link>%(RecursiveDir)\%(Filename)%(Extension)</Link>
  </EmbeddedResource>
</ItemGroup>