У меня есть тестовый файл в MSBuild для создания ZIP. Мне нужно исключить определенные папки. У меня работает следующее.
<PropertyGroup>
<TestZipPath>C:\path\to\my\folder\</TestZipPath>
<ExcludeList>$(TestZipPath)\**\_svn\**;$(TestZipPath)\**\.svn\**;$(TestZipPath)\**\obj\**;$(TestZipPath)\**\*.config</ExcludeList>
</PropertyGroup>
<ItemGroup>
<ZipFiles Include="$(TestZipPath)\**\*.*" Exclude="$(ExcludeList)" />
</ItemGroup>
<Message Text="%(ZipFiles.FullPath)"/>
Это кажется мне ужасно многословным. В идеале я хотел бы, чтобы ExcludeList был отформатирован так:
<ExcludeList>**\_svn\**;**\.svn\**;**\obj\**;**\*.config</ExcludeList>
Но, похоже, это не работает. Почему мне нужно включать $ (TestZipPath) перед каждым шаблоном исключения? ** не предназначен для использования в начале пути? Есть ли лучший способ сделать это?