使用 tfs 在 CI 中检查程序集信息

Posted

技术标签:

【中文标题】使用 tfs 在 CI 中检查程序集信息【英文标题】:check in assembly info in CI with tfs 【发布时间】:2018-02-18 23:38:35 【问题描述】:

如何在 tfs 中检查程序集信息? 我正在使用 tfs CI 并且我有一个工作空间,当我尝试签入待处理时:

2017-09-10T17:37:40.3410618Z 没有文件签入。 2017-09-10T17:37:40.8732772Z 没有与 指定的项目。

更改,tfs 日志显示没有挂起的更改,但我的 dll 版本是正确的。 我可以在 Visual Studio 中看到 assemblyinfo 文件挂起的更改。 我在 CI 中使用 assemblyinfo 插件,我正在使用 powershell 命令签入:

Tf.exe checkin $/[path]/assemblyinfo.cs

【问题讨论】:

为什么要将构建输出提交给版本控制?您可以使用 Publish Build Artifacts 任务发布构建输出。 @DanielMann 我想签入程序集信息文件。 【参考方案1】:

当你在本地构建 VS 时,在工作空间内生成文件assemblyinfo.cs(源代码管理中映射的项目),并将在 Pending Changes 页面中自动检测到。

但根据您的描述,您使用 TFS 构建,这意味着文件 assemblyinfo.cs 尚未在源代码管理中。除非您将输出发布/添加到活动工作区,就像使用 VS 在本地构建一样,否则您可以直接签入。否则,您必须先将文件添加到源代码管理,然后再签入。

所以,请先尝试运行“tf status”命令,它会显示待处理的更改列表。

tf stat /collection:http://server:8080/tfs/Collection

如果该文件未列出,请先运行tf add,然后运行tf checkin(您需要先将目录更改为映射文件夹)

【讨论】:

以上是关于使用 tfs 在 CI 中检查程序集信息的主要内容,如果未能解决你的问题,请参考以下文章

如何撤消 TFS 2010 中的变更集回滚?

如何检查TFS服务器上是否有新的更改?

如何通过我们的 CI 平台 (Hudson) 自动增加 C# 程序集版本?

FxCop:检查程序集信息值的自定义规则

如何检查 pdb 文件是不是对调试程序集有效

使用 PostSharp 调试的 TFS 构建 |任何 CPU