问题描述
|
我有一个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或将整个模式放入Property的尝试都失败了。 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>