如何指定API版本?

How to specify the API version?

根据 Azure DevOps Services REST API Reference,请求 URI 具有以下格式:

https://{instance}[/{team-project}]/_apis[/{area}]/{resource}?api-version={version}

关于 api-version

Every API request should include an api-version to avoid having your app or service break as APIs evolve.

我开始使用 .NET client libraries for Azure DevOps Services (and TFS) 以编程方式管理仪表板。

我可以使用个人访问令牌连接到 Azure DevOps:

var credential = new VssBasicCredential(string.Empty, "PersonalAccessToken");

using (VssConnection connection = new VssConnection(new Uri("...."), credential))
using (var client = connection.GetClient<DashboardHttpClient>())
{
     // ...
}

如何指定 API 版本?在使用 .NET client libraries 时这样做是否仍然有意义?

API 版本由客户端库决定。您可以通过反汇编它们来确认这一点(例如使用 ILSpy)。

例如,在 Microsoft.TeamFoundationServer.Client 的当前稳定版本中,DashboardHttpClientBase 有一个 CreateDashboardAsnc 方法进行以下调用:

this.SendAsync<Dashboard>(..., new ApiResourceVersion("4.1-preview.2"), ...);