Tfs MSBuild日志记录

Tfs MSBuild日志记录,tfs,msbuild,Tfs,Msbuild,我对tfs比较陌生。我正在生成期间创建msbuild日志文件,但它们不会移动到放置位置 我正在尝试将teambuild从2010年转移到2013年。由于名称空间版本化,我从tfs服务器的新默认值中重新创建了工作流模板。构建成功,二进制文件通过自定义活动放置在放置位置 MSBuild在工作流上使用了四次。每个日志文件都有一个唯一的日志文件名,并使用相同的日志文件位置。我得到的二进制文件在放置位置没有日志文件。使用诊断构建,我确实看到LogFileDropLocation具有正确的放置位置。但是,我

我对tfs比较陌生。我正在生成期间创建msbuild日志文件,但它们不会移动到放置位置

我正在尝试将teambuild从2010年转移到2013年。由于名称空间版本化,我从tfs服务器的新默认值中重新创建了工作流模板。构建成功,二进制文件通过自定义活动放置在放置位置

MSBuild在工作流上使用了四次。每个日志文件都有一个唯一的日志文件名,并使用相同的日志文件位置。我得到的二进制文件在放置位置没有日志文件。使用诊断构建,我确实看到LogFileDropLocation具有正确的放置位置。但是,我的日志文件仍保留在代理上,不会移动到放置位置

在2010年的构建中,我在放置位置获得了二进制文件和四个日志文件


我的问题是,Microsoft.Teamfoundation.Build.Workflow.Activities.MSBuild应该按照我的猜测处理日志文件的复制/移动,还是在工作流中的更高版本?MSDN和我的几本书实际上没有讨论msbuild如何处理日志记录。我希望有人知道MSBuild是如何处理日志文件的。

您需要将XML文件放在项目中,并将其标记为内容。它们将作为输出复制到bin文件夹

示例:在visual studio中创建新项目。它们在源代码管理下的项目根目录中创建一个空的.xml文件。右键单击并将其标记为内容。构建项目

您应该看到bin文件夹已创建,并且.xml文件已复制到该位置


此输出被视为“已编译”或“已生成”,即使它是一个副本。您可能希望稍后执行一些生成处理以添加参数。

调用MSBuild实用程序时,您可以添加参数,并让MSBuild以您想要的方式处理日志文件。我不知道您描述的TFS工作流程,因此请查看如何在那里添加该工作流程

您的命令可以如下所示:

MSBuild.exe /target:Build Solution.sln /filelogger /fileloggerparameters:LogFile=C:\path\to\file\build.log;Verbosity=normal
此处对记录器进行了说明(在记录器开关下):
这里详细解释如下:

您应该避免自定义工作流。2015年的新构建系统和VSO不使用工作流。您应该使用PowerShell进行定制..哎哟,谢谢。这是一个移动到2013年的遗留版本。管道中有相当多的重写:-)MSBuild活动将LogFileDropLocation作为参数。是否有人知道Microsoft.TeamFoundation.Workflow.Activities.MSBuild活动和整个工作流如何处理这些日志文件并使用日志文件放置位置值?这不是输出代码。