【问题标题】:connection Azure DevOps using REST API使用 REST API 连接 Azure DevOps
【发布时间】:2019-03-19 04:33:48
【问题描述】:

我正在尝试使用以下代码将 .net 核心应用程序中的 Azure DevOps 连接起来。

var url = new Uri("https://abcdxyz.visualstudio.com");

var PAT = "XXXXXgdeuxfroaqho4lhtqjdvbagrotypfgfhtuq6w23ie5z3xoq";

VssConnection connection = new VssConnection(url, new VssBasicCredential(string.Empty, PAT));
WorkItemTrackingHttpClient witClient = connection.GetClient<WorkItemTrackingHttpClient>();

它构建成功。但是,它会抛出错误

System.IO.FileNotFoundException: 'Could not load file or assembly 'System.Net.Http.WebRequest, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. The system cannot find the file specified.'

我尝试更新 Nuget 包。但是还是会出现这个错误。

您能告诉我如何解决这个问题吗? 谢谢

【问题讨论】:

  • System.Net.Http.WebRequest 不是来自 Nuget 包。您是否尝试从 Add Reference -> Assemblies 对话框添加?
  • 感谢迪帕克的建议。我正在尝试使用 .net 核心应用程序。但是它在 .net 框架上运行良好。
  • 你使用什么库来连接? WebRequest 在 .NET Core 中不受本机支持,并且此库正在使用 WebRequest,这意味着它可能是为 .NET Framework 设计的。您应该尝试找到一个替代库,或者如果您找不到,您应该以 .NET Framework 而不是 .NET Core 为目标。您仍然可以使用 ASP.NET Core,因为它可以在任何一个上运行。

标签: c# asp.net asp.net-core azure-devops


【解决方案1】:

我记得有一个类似的问题,这是我们在使用这些库的 .net 核心应用程序中获取 WIT 客户端的方式:

 vss = new VssBasicCredential(string.Empty, PAT);
 VssConnection connection = new VssConnection(tfsURI, vss);
 witClient = connection.GetClient<WorkItemTrackingHttpClient>();

 workItemClient = new WorkItemClient(witClient);

我们也在使用Microsoft.TeamFoundationServer.ClientMicrosoft.VisualStudio.Services.Client 库的预览版。

据我了解,没有 .net 核心支持 ATM。我的一位同事在this open issue 上发表了评论,提供了更多关于我们如何完成这项工作的背景信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-07-17
    • 2020-06-12
    • 2021-03-10
    • 1970-01-01
    • 1970-01-01
    • 2019-10-24
    • 2021-04-19
    • 2021-03-25
    相关资源
    最近更新 更多