Как группа элементов ExcludeFromBuild должна работать в проектах веб-развертывания?

Я добавил ItemGroup для элементов ExcludeFromBuild в цель PreBuild в моем проекте веб-развертывания:

<ItemGroup>
  <ExcludeFromBuild Include="$(SourceWebPhysicalPath)\Test\**\*.*" />
</ItemGroup>

После сборки сборка в выводе по-прежнему содержит скомпилированные классы из файлов в ~/Test. Это не то, что я ожидал.

Вот фрагмент из Использование проектов веб-развертывания с Visual Studio 2005 на MSDN:

Например, добавив следующий раздел в проект веб-развертывания, вы можете исключить папку "Тесты и изображения" из процесса сборки:

<ItemGroup>
 <ExcludeFromBuild Include="$(SourceWebPhysicalPath)\Test\**\*.*"/>
 <ExcludeFromBuild  Include="$(SourceWebPhysicalPath)\Images\**\*.*"/>
</ItemGroup>

Это полезно, если у вас есть тестовый код в проекте веб-сайта, который не следует включать в промежуточные или выпускные сборки.

Кажется, не работает для меня, хотя. Я что-то упускаю из виду?

1 ответ

Решение

Неважно, я нашел проблему. Группа элементов ExcludeFromBuild оценивается в цели _CopyBeforeBuild, которая вызывается перед целью BeforeBuild.

Doh!

Другие вопросы по тегам