MSBuild排除语法无效



我在MSBuild中有一个测试文件来创建ZIP。我需要排除某些文件夹。我有以下工作。

<PropertyGroup>
  <TestZipPath>C:pathtomyfolder</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)?**是否不用于路径的开头?有更好的方法吗?

我解决了这个问题。问题是,我试图包含与我正在执行的msbuild文件无关的文件。MSBuild假定文件路径是相对于此位置的,并且不提供任何更改方法。正因为如此,我的所有道路都必须是绝对的,不能是相对的。

尝试添加'.\'在每个包含模式之前。像这样:

 '.**obj**'

最新更新