我有一个 ASP.NET Web API 项目,它绑定到托管在 tfs.visualstudio.com 上的 TFS 源代码控制存储库,以及一个将输出发布到 Azure 的持续集成构建(也在 tfs.visualstudio.com 上)。CI 构建触发正确,构建输出部署到 Azure,但我希望部署还包括 XML 文档文件,因为它们驱动我的 Web API 项目的帮助页面。
做了一些谷歌搜索后,我发现一篇博文指出我应该将以下内容添加到我的 pubxml 文件中:
<PropertyGroup>
<CopyAllFilesToSingleFolderForMsdeployDependsOn>
CustomCollectFiles;
$(CopyAllFilesToSingleFolderForMsdeployDependsOn);
</CopyAllFilesToSingleFolderForMsdeployDependsOn>
</PropertyGroup>
<Target Name="CustomCollectFiles">
<ItemGroup>
<_CustomFiles Include="bin\**\*.xml" />
<FilesForPackagingFromProject Include="%(_CustomFiles.Identity)">
<DestinationRelativePath>bin\%(RecursiveDir)%(Filename)%(Extension)</DestinationRelativePath>
</FilesForPackagingFromProject>
</ItemGroup>
</Target>
如果我从 Visual Studio 2012 手动发布,则此方法有效,但在我的 CI 构建发布其输出时不起作用。CI 构建不发布 XML 文档文件。
为什么这在 Team Build 服务器上的行为与在我的开发框上的行为不同?