首页 > 解决方案 > 'RestClient' 是一个命名空间,但它像类型一样使用 - 包问题

问题描述

我已经删除了敏感数据,但是在尝试发出 API 请求时遇到了这个问题,尽管我已经安装了相关的软件包。为什么会这样?

using System;
using IronXL; 
using RestClient;
using Rest;
using Newtonsoft;
using RestSharp;
using RestSharp.Authenticators;
using RestSharp.Validation;
    public static void APIRequest()
        
    {
        var client = new RestClient("");
        client.Timeout = -1;
        var request = new RestRequest(Method.POST);
        request.AddHeader("Accept", "application/vnd.evolutionx.v1+json");
        request.AddHeader("Authorization", "Bearer  ");
        request.AddHeader("Content-Type", "application/json");
        IRestResponse response = client.Execute(request);
        Console.WriteLine(response.Content);

    }

标签: c#restsharprest

解决方案


这一行:

using RestClient;

RestClient在您的代码中创建一个已知的命名空间。然后,C# 将假定任何引用都RestClient指向该命名空间,除非您另有明确说明。

如果RestClient真的是一个类,那么你必须在它前面指定它的命名空间

例如

new RelevantNamespace.RestClient("")

将其与命名空间区分开来。我猜这是RestClient来自 的课程RestSharp,所以可能 newRestSharp.RestClient("")是有道理的。


另一方面,您在评论中说RestClient命名空间在 IDE 中是灰色的。这意味着你没有使用它的任何东西。因此,要解决您的问题,您可以简单地using RestClient;从文件中删除该语句。

通常,您可能也不需要 RestClient.net 包,因为 RestSharp 已经做了非常相似的工作。


推荐阅读