在MSBuild中重用排除模式

时间:2011-05-25 22:02:08

标签: msbuild

我有一个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语法是什么?

1 个答案:

答案 0 :(得分:2)

试试这个:

<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>