TFS .NET 客户端库更新导致 GetItems 出错

TFS .NET client libraries update causes error in GetItems

我们刚刚将 TFS 的 .NET 客户端库更新到版本 15。131.x 并且在 Azure DevOps 2019 服务器上是 运行。更新后我们在调用 GetItems 时遇到错误:

using (var tfs = new TfsTeamProjectCollection(uri, cred))
{
    var vs = tfs.GetService<VersionControlServer>();
    var tfsWorkingFolder = ConfigurationManager.AppSettings["TFSWorkingFolder"];
    var items = vs.GetItems($"{tfsWorkingFolder}", RecursionType.OneLevel);    
}

vs.GetItems($"{tfsWorkingFolder}", RecursionType.OneLevel);行给出错误

System.TypeLoadException: 'Method 'get_Properties' in type 'Microsoft.TeamFoundation.Client.HttpWebRequestWrapper' from assembly 'Microsoft.TeamFoundation.Client, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' does not have an implementation.'

定义变了吗?

不,定义没有改变。您使用的软件包版本符合 TFS/Azure DevOps Server version.

实际上你得到的错误表明缺少依赖程序集。

System.TypeLoadException: Method ‘XXX’ in type ‘YYY’ from assembly ‘ZZZ’ does not have an implementation.

请仔细检查您项目中此类相关的缺失 dll 引用。删除所有引用并再次重新添加它,这可能会成功。

此外,您也可以将软件包版本Microsoft.TeamFoundationServer.Client升级到您的服务器支持的最新版本再试。