【问题标题】:Exception when running TFS 2015 custom build task运行 TFS 2015 自定义构建任务时出现异常
【发布时间】:2016-11-27 18:28:00
【问题描述】:

我为 TFS 2015 开发了一个插件(扩展)。
该插件实际上是一个自定义构建任务,可以作为构建过程中的一个步骤添加。

问题是,当我开发插件时,我使用了 TFS 2015 update 2.1,但我的用户使用 update 2.0,他们在插件启动后不久就看到了这个奇怪的错误在请求用户输入的过程中运行。

当这行被执行时:

var build = tl.getInput(MyConstants.SomeInput, true);  

出现此错误:

17:46:13.932774 Process logging event with task handler. 17:46:13.932774
---------------------------------------------------------------------------
17:46:13.932774 System.FormatException: Input string was not in a correct format.    
17:46:13.932774    at System.Text.StringBuilder.AppendFormatHelper(IFormatProvider provider, String format, ParamsArray args)  
17:46:13.932774    at System.String.FormatHelper(IFormatProvider provider, String format, ParamsArray args)    
17:46:13.932774    at System.String.Format(IFormatProvider provider, String format, Object[] args)    
17:46:13.932774    at Microsoft.TeamFoundation.DistributedTask.Agent.Worker.Common.BaseContext.LogMessageWithDecoration(LoggingVerbosity verbosity, String decoration, String message, Object[] args) 17:46:13.932774    at System.Text.StringBuilder.AppendFormatHelper(IFormatProvider provider, String format, ParamsArray args)    
17:46:13.932774    at System.String.FormatHelper(IFormatProvider provider, String format, ParamsArray args)    
17:46:13.932774    at System.String.Format(IFormatProvider provider, String format, Object[] args)    
17:46:13.932774    at Microsoft.TeamFoundation.DistributedTask.Agent.Worker.Common.BaseContext.LogMessageWithDecoration(LoggingVerbosity verbosity, String decoration, String message, Object[] args) 17:46:13.932774
---------------------------------------------------------------------------

我能够重现此错误,并且它仅存在于更新 2.0 中,并且在我更新到 2.1 后消失了。我已经搜索但在更新 2.1 更改日志中没有看到任何暗示与我的错误相关的错误修复的任何内容。

我错过了什么?

【问题讨论】:

  • 你的扩展是跨平台的构建任务吗?
  • 我不确定你到底是什么意思。我写了一个基于 Javascript(当然是在 Node 上运行)的插件来触发一些 API。我猜它可以称为跨平台,但我不确定微软在跨平台中的确切含义。
  • 我是想说你的扩展是否有跨平台的构建任务。跨平台构建任务意味着此任务可以在多个平台上使用,例如 Windows、OSX 或 Linux。
  • 我的扩展有一个用 JavaScript 编写的构建任务,在 Node 上运行,所以我假设它是跨平台的。但是,是否有任何 TFS 2015 构建任务不是跨平台的?

标签: tfs tfsbuild tfs-2015 azure-pipelines-build-task azure-pipelines


【解决方案1】:

假设您的扩展程序具有跨平台构建任务。您可以查看Team Foundation Server 2015 Update 2.1 Fixed Bugs。在 Build for Update 2 下修复了一个错误:

具有跨平台构建任务的扩展不起作用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-15
    • 2016-10-02
    • 1970-01-01
    • 2021-12-19
    • 2019-01-10
    • 2011-11-27
    • 2017-10-03
    • 1970-01-01
    相关资源
    最近更新 更多