管理生成信息和控制详细级别
您可以将有关已完成生成的获取详细信息:
**生成如何运行?**生成是否成功? 生成何时启动? 生成运行了多长时间? 相对于之前的生成,此生成如何执行?
**生成了什么?**哪些解决方案、变更集和 Bug 修复进入了此生成?
**什么地方出错了?**出现了什么警告或错误? 哪些测试失败了?
当您定义生成过程时,可系统地控制每个已完成生成的存储信息详细级别。 或者,当您手动对生成的单次运行进行排队时,可控制它的详细级别。
主题内容
生成信息的产生和流动方式
定义生成过程
对生成过程进行排队和运行
产生、筛选和存储生成信息
检索生成信息
设置日志记录详细级别的生成过程参数
最佳做法:详细级别设置得越低越好
在运行生成时使用最低详细级别
在设计自定义生成过程模板时使用最低详细级别
更多信息
生成信息的产生和流动方式
定义生成过程
当您开发生成过程时,可系统地控制信息的详细级别。 当您创建或编辑基于默认模板或升级模板的生成定义时,显示**“进程”选项卡。 在“基本”节点的“日志记录详细级别”**列表中,您可选择一个值来指定此生成过程参数。
在内置模板不能满足您需求的情况下,您可开发自定义生成过程模板。 当您创建此类模板时,应仔细编写生成信息。 有关更多信息,请参见 在运行生成时使用最低详细级别。
对生成过程进行排队和运行
当您对基于默认模板或更新模板的生成定义进行排队时,可手动重写**“日志记录详细级别”设置。 在“队列生成”对话框中,选择“参数”选项卡,展开“基本”节点,然后选择“日志记录详细级别”**列表中的某个值以指定此生成过程参数。 此值将应用于生成的单次运行。
产生、筛选和存储生成信息
生成系统将**“详细级别”**生成过程参数值传递到 Verbosity。 此特性用于筛选在您的 Team Foundation server 记录和存储通过以下来源的 Information 的生成信息:
工作流活动:一些工作流活动在操作成功后生成消息,或者在操作失败后生成警告或错误。 例如,当**“SyncWorkspace”**活动从服务器下载源代码和其他文件到生成代理时,会生成低重要性的消息。 当此活动下载文件失败时,会生成错误。 另外一个示例是,OpenWorkItem 活动在创建工作项失败后会生成警告。
您可使用其他工作流活动直接编写自己的生成信息。 有关更多信息,请参见设计以所需最低详细级别编写信息的自定义生成过程模板。
编译代码:生成过程使用 MSBuild 活动来利用 MSBuild 编译二进制文件,执行其他重要任务。 此活动的**“详细级别”**属性控制此过程生成并发布到以下位置的信息的详细级别:
您的 Team Foundation server 存储生成结果、错误和警告。
放置文件夹中的日志存储信息和您的 Team Foundation server 与相同 MSBuild 导致的其他消息。
测试代码:生成过程使用 RunTests 或 MSTest 活动来运行测试。 所有消息这些事件日志类别具有高重要性值,如果生成控制器是在系统或低,如果使用 托管生成控制器。
检索生成信息
在生成运行的过程中以及在生成完成之后,您可从生成结果窗口中检索摘要和详细信息。 可将此信息从该窗口复制到剪贴板。 您还可直接链接到放置文件夹来检索日志、二进制文件和其他数据。
日志记录详细级别生成过程参数
在基于默认模板或更新模板的生成过程中,您可使用**“日志记录详细级别”**生成过程参数来管理记录和存储的信息的详细级别。
下表列出了日志记录详细级别值及其对应的效果:
值 |
错误 |
警告 |
高重要性生成消息 |
一般重要性消息 |
低重要性消息 |
工作流活动属性(输入和输出) |
---|---|---|---|---|---|---|
最低 |
Y |
N |
N |
N |
N |
N |
Normal |
Y |
Y |
Y |
N |
N |
N |
详细 |
Y |
Y |
Y |
Y |
N |
N |
诊断 (提示:在许多情况下可用于诊断记录。 请参见 诊断生成问题。) |
Y |
Y |
Y |
Y |
在"系统生成控制器:Y 托管生成控制器:N |
Y |
最佳做法:详细级别设置得越低越好
虽然生成信息很重要,但记录过多信息的生成过程会导致问题。 这些问题比它们可以处理可能包括使用在 Team Foundation server,如此的 Visual Studio 性能和加重团队成员的许多存储与更多信息。
在运行生成时使用最低详细级别
当您运行生成时,一般应遵循最佳做法,即,使用仍能为您提供实现目标所需的信息的最低详细级别设置。
在设计自定义生成过程模板时使用最低详细级别
生成过程的用户依赖详细级别筛选来减少信息负荷。 您可以采用以下方法,使此筛选更有效:
确保选择最合适的活动来编写消息:WriteBuildMessage 活动、WriteBuildWarning 活动、WriteBuildError 活动 或 WriteBuildTestError。
当您使用 WriteBuildMessage 活动 活动记录信息时,应用有目的性且一致的方式设置**“重要性”**属性。 当您对消息使用较高的重要性值时,应当意识到您可能会增加需要存储并提供给团队用户的数据量。
备注
如果您在“DoWhile”、“ForEach<T>”或“While”等循环结构内使用这些活动,则此类决策的影响将会特别大。
更多信息
诊断生成问题 描述如何获取诊断记录。
Team Foundation Build 活动介绍本主题提及的生成过程工作流活动。
定义基于默认模板的生成过程 和 使用传统生成过程 提供有关如何创建和维护基于默认模板和升级模板生成定义的指导
查看生成结果提供有关如何使用生成结果窗口的指导。
IBuildDetail、BuildMessageImportance 和 BuildVerbosity 介绍提供生成信息功能的 Team Foundation Build API 的一些关键元素。
MSBuild 命令行参考介绍 MSBuild。
指定生成触发器和原因和将生成排入队列介绍如何自动和手动对生成进行排队。