代码之家  ›  专栏  ›  技术社区  ›  Chris Arnold

在TFS生成中排除多个文件

  •  0
  • Chris Arnold  · 技术社区  · 16 年前

    我正在尝试从TFS 2008生成定义中的自定义部署步骤中排除一系列文件。我想包括所有文件,除了那些以p0或p1开头的文件。以下是我的一些尝试…

    <ItemGroup>
      <FilesToCopy Include="$(BinariesRoot)\Debug\*.*" Exclude="$(BinariesRoot)\Debug\P0*.*;$(BinariesRoot)\Debug\P1*.*" />
    </ItemGroup>
    

    <PropertyGroup>
      <FilesToExclude>$(BinariesRoot)\Debug\P0*.*;$(BinariesRoot)\Debug\P1*.*</FilesToExclude>
    </PropertyGroup>
    <ItemGroup>
      <FilesToCopy Include="$(BinariesRoot)\Debug\*.*" Exclude="$(FilesToExclude)" />
    </ItemGroup>
    

    <PropertyGroup>
      <FilesToExclude>$(BinariesRoot)\Debug\P0*.*;$(BinariesRoot)\Debug\P1*.*</FilesToExclude>
    </PropertyGroup>
    <ItemGroup>
      <FilesToCopy Include="$(BinariesRoot)\Debug\*.*" Exclude="@(FilesToExclude)" />
    </ItemGroup>
    

    当我用这个复制文件的时候…

    <Copy SourceFiles="@(FilesToCopy)" DestinationFolder="T:\Deployment\" />
    

    …它总是复制所有文件(即不排除p0和p1文件)。

    1 回复  |  直到 16 年前
        1
  •  0
  •   mfloryan    16 年前

    使用诊断输出运行生成 MSBuild ... /clp:v=diag 并查看项目的值。您还可以简单地添加一个步骤来输出文件列表,如下所示:

    <Message Text="SrcFiles: @(FilesToCopy)" />
    

    看上面的例子,第二个代码片段是正确的,第三个代码片段不是(通过$not via@引用属性)

    推荐文章