VSTS HttpBuildClient更新定义异步抛出类型异常

时间:2018-06-14 21:35:54

标签: c# azure-devops

我正在尝试自动设置构建定义。在我的过程中,我需要更新现有的定义。我正在检索现有定义,但是当我更新它们时,我得到以下异常: Microsoft.VisualStudio.Services.WebApi.VssServiceResponseException: 'Expecting 'Process' to be of type 'T'.'

当我致电await buildClient.UpdateDefinitionAsync(buildDef);

时,它会被抛出

以下是上下文中的完整代码:

public async void Test()
    {
        var buildClient = new BuildHttpClient(new Uri(VstsCollectionUrl),
            new VssOAuthAccessTokenCredential(_auth.AccessToken));

        var buildDef =
            (await buildClient.GetFullDefinitionsAsync(Guid.Parse("My GUID As String"))).FirstOrDefault(def => def.Repository.Name == "App Test");

        if (buildDef == default(BuildDefinition))
            return;

        var newRepoSettings = buildDef.Repository;
        newRepoSettings.Properties["skipSyncSource"] = "true";
        newRepoSettings.Properties["labelSources"] = "6";
        buildDef.Repository = newRepoSettings;
        buildDef.Path = @"\";



        await buildClient.UpdateDefinitionAsync(buildDef); //Error thrown here
}

我使用的是正确的功能吗?我没有设置我不应该的东西,或者这是API / SDK中的错误吗?

1 个答案:

答案 0 :(得分:1)

只需将软件包版本更新为更高版本(例如15.131.0-preview)。

原因是,对于旧版本,BuildDefinition类型中没有必要的属性,例如Process。