将值“失败”转换为键入>时出错“System.Nullable

时间:2018-01-04 13:28:28

标签: tfs

我有以下代码来使用API​​和TFS2013检索构建历史记录。

var connection = new VssConnection(uri, cred);
var buildServer = connection.GetClient<BuildHttpClient>();
var builds = buildServer.GetBuildsAsync($"{teamProjectName}").Result;

调用buildServer.GetBuildsAsync时出现以下错误

  

{“将值转换错误\”失败\“键入   'System.Nullable`1 [Microsoft.TeamFoundation.Build.WebApi.BuildStatus]'。   路径'值[0] .status',第1行,第268位。“}

知道这可能意味着什么吗?

1 个答案:

答案 0 :(得分:1)

  

要使用XAML版本,您需要使用旧版本的   REST客户端或最好是SOAP客户端。就像XAML一样   已弃用我们已从最新版本中删除了这些定义   REST apis。请参阅this case

我已经使用TFS 2015进行了测试(我们现在还没有TFS 2013环境)。如果使用15 Microsoft.TeamFoundationServer.ExtendedClient版本,则此API无法获得XAML版本。如果使用14个版本的Microsoft.TeamFoundationServer.ExtendedClient,则此api可以成功获得XAML构建。

如果即使使用14个Microsoft.TeamFoundationServer.ExtendedClient版本,此api也无法正常工作,请尝试使用下面的旧API检索XAML版本:

        TfsTeamProjectCollection tfs = new TfsTeamProjectCollection(new Uri("http://tfsserver:8080/tfs/teamprojectcollection"));
        tfs.EnsureAuthenticated();
        IBuildServer buildserver = (IBuildServer)tfs.GetService(typeof(IBuildServer));
        IBuildDefinition[] buildDefinitions = buildserver.QueryBuildDefinitions("teamproject");
        IBuildDetail[] builds = buildserver.QueryBuilds("teamproject");