我正在尝试自动设置构建定义。在我的过程中,我需要更新现有的定义。我正在检索现有定义,但是当我更新它们时,我得到以下异常:
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中的错误吗?
答案 0 :(得分:1)
只需将软件包版本更新为更高版本(例如15.131.0-preview)。
原因是,对于旧版本,BuildDefinition类型中没有必要的属性,例如Process。