在MSBuild中重用排除模式

在MSBuild中重用排除模式,msbuild,Msbuild,我有一个MSBuild脚本,在其中我创建了一个源代码文件列表,如下所示: <ItemGroup> <ZipSourceFiles Include="Project1\**\*.*" Exclude="**\bin\**;**\obj\**;**\.svn\**" /> <ZipSourceFiles Include="Project2\**\*.*" Exclude="**\bin\**;**\obj\**;**\.svn\**" />

我有一个MSBuild脚本,在其中我创建了一个源代码文件列表,如下所示:

<ItemGroup>
    <ZipSourceFiles Include="Project1\**\*.*" Exclude="**\bin\**;**\obj\**;**\.svn\**" />
    <ZipSourceFiles Include="Project2\**\*.*" Exclude="**\bin\**;**\obj\**;**\.svn\**" />
    <ZipSourceFiles Include="Project3\**\*.*" Exclude="**\bin\**;**\obj\**;**\.svn\**" />
    <ZipSourceFiles Include="Project4\**\*.*" Exclude="**\bin\**;**\obj\**;**\.svn\**" />
    <ZipSourceFiles Include="MyApp.sln" />
</ItemGroup>

这是可行的,但我不希望每次都剪切和粘贴相同的排除模式,而是声明一次并重用它。然而,我尝试将排除模式放入ItemList或将整个模式放入属性,但都失败了。执行此操作的正确msbuild语法是什么?

请尝试以下操作:

<PropertyGroup>
    <ExcludePattern>**\bin\**;**\obj\**;**\.svn\**</ExcludePattern>
</PropertyGroup>    
<ItemGroup>
    <ZipSourceFiles Include="Project1\**\*.*" Exclude="$(ExcludePattern)" />
    <ZipSourceFiles Include="Project2\**\*.*" Exclude="$(ExcludePattern)" />
    <ZipSourceFiles Include="Project3\**\*.*" Exclude="$(ExcludePattern)" />
    <ZipSourceFiles Include="Project4\**\*.*" Exclude="$(ExcludePattern)" />
    <ZipSourceFiles Include="MyApp.sln" />
</ItemGroup>

**\宾\****\obj\***;***\。svn\**

我确信我已经尝试过好几次了,但我又尝试了一次,现在它开始工作了,非常感谢。考虑到MsBuild对分号的敏感性,我在尝试时确实感到惊讶。很高兴它对你有用。