我们在项目中使用NHibernate,并且需要所有.hbm.xml文件作为嵌入资源。 为了自动化这个无聊的任务,我们将这个目标定义添加到我们的项目文件中:
<Target Name="BeforeBuild">
<ItemGroup>
<EmbeddedResource Include="**\*.hbm.xml" />
</ItemGroup>
</Target>
仅当所有hbm.xml文件都具有构建操作时才有效。但是在我们的项目中,一些文件被手动设置为Embedded Resource,现在没有机会改变所有文件。
因此我们得到构建错误“该项目在”Resources“参数中被多次指定,并且两个项目的”LogicalName“元数据具有相同的值。”Resources“参数不支持重复项,除非它们具有“LogicalName”元数据的不同值。“
是否可以编写一个仅针对.hbm.xml文件更改构建操作的目标,其中构建操作为无(或非嵌入式资源)?
答案 0 :(得分:3)
首先删除那些已经设置为嵌入式资源的内容,然后将它们全部添加到?
中是否可行?<ItemGroup>
<EmbeddedResource Remove="**\*.hbm.xml" />
<EmbeddedResource Include="**\*.hbm.xml" />
</ItemGroup>