Как изменить действие сборки для файлов с помощью MSBuild - PullRequest
3 голосов
/ 30 марта 2011

Мы используем NHibernate в нашем проекте и нам нужны все файлы .hbm.xml для встраивания ресурсов. Чтобы автоматизировать эту скучную задачу, мы добавили определение цели в файл нашего проекта:

<Target Name="BeforeBuild">    
  <ItemGroup>
    <EmbeddedResource Include="**\*.hbm.xml" />
  </ItemGroup>
</Target>

Работает, только если все файлы hbm.xml имеют действие сборки None. Но в нашем проекте некоторые файлы вручную установлены на Embedded Resource, и сейчас нет возможности изменить их все.

Таким образом, мы получаем ошибку сборки "Элемент был указан более одного раза в параметре" Resources ", и оба элемента имели одинаковое значение для метаданных" LogicalName ". Повторяющиеся элементы не поддерживаются параметром" Resources ", если они не имеют различные значения для метаданных "LogicalName". "

Можно ли написать цель, которая изменяет действие сборки только для файлов .hbm.xml с действием сборки Нет (или НЕ встроенным ресурсом)?

1 Ответ

3 голосов
/ 30 марта 2011

Будет ли работать сначала удаление уже установленных ресурсов для Embedded, прежде чем добавлять их все в?

<ItemGroup>
  <EmbeddedResource Remove="**\*.hbm.xml" />
  <EmbeddedResource Include="**\*.hbm.xml" />
</ItemGroup>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...