我在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)?**不是用于路径开头的吗?有更好的方法吗?