Как исключить содержимое каталога, но не сам каталог в MSBuild - PullRequest
0 голосов
/ 27 сентября 2010

Я использую Web Deployment Project 2008 для создания своего веб-приложения. Я хотел бы исключить содержимое нескольких папок из сборки, но оставить пустой каталог. Однако, если я сделаю это

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

исключает сам каталог ImageCache. Так как мне сохранить каталог? Заранее спасибо?

1 Ответ

0 голосов
/ 27 сентября 2010

Боюсь, вы должны сделать это в две строки:

<ExcludeFromBuild Include="$(SourceWebPhysicalPath)\ImageCache\**\*.*" />
<IncludeFromBuild Include="$(SourceWebPhysicalPath)\ImageCache\" />

Но это не могло сработать, потому что The "Copy" task does not support copying directories.Таким образом, я предлагаю вам исключить файлы, как вы сделали, и создать пустой каталог в цели AfterMerge:

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

<...>

<Target Name="AfterMerge">
  <MakeDir Directories="$(SourceWebPhysicalPath)\ImageCache" />
</Target>
...