我正在尝试从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文件)。
答案 0 :(得分:0)
使用诊断输出MSBuild ... /clp:v=diag
运行您的构建,并查看您的项目的值。您还可以简单地添加一个步骤来输出文件列表,如下所示:
<Message Text="SrcFiles: @(FilesToCopy)" />
查看上面的示例,第二个片段是正确的,第三个片段不正确(对属性的引用是通过$ not via @完成的)