C# system.uri';不包含';parsequerystring';

C# system.uri';不包含';parsequerystring';,c#,.net,uri,C#,.net,Uri,按照关于构建C#类并将类代码粘贴到新类的在线指南,唯一无法解析的部分是这一行: canonicalRequest.AppendFormat("{0}\n", GetCanonicalQueryParameters(request.RequestUri.ParseQueryString())); 从这个函数 private static string GetCanonicalRequest(HttpRequestMessage request, string[] sign

按照关于构建C#类并将类代码粘贴到新类的在线指南,唯一无法解析的部分是这一行:

        canonicalRequest.AppendFormat("{0}\n", GetCanonicalQueryParameters(request.RequestUri.ParseQueryString()));
从这个函数

    private static string GetCanonicalRequest(HttpRequestMessage request, string[] signedHeaders)
    {
        var canonicalRequest = new StringBuilder();
        canonicalRequest.AppendFormat("{0}\n", request.Method.Method);
        canonicalRequest.AppendFormat("{0}\n", request.RequestUri.AbsolutePath);
        canonicalRequest.AppendFormat("{0}\n", GetCanonicalQueryParameters(request.RequestUri.ParseQueryString()));
        canonicalRequest.AppendFormat("{0}\n", GetCanonicalHeaders(request, signedHeaders));
        canonicalRequest.AppendFormat("{0}\n", String.Join(";", signedHeaders));
        canonicalRequest.Append(GetPayloadHash(request));
        return canonicalRequest.ToString();
    }

错误是System.Uri不包含parsequerystring的定义?这似乎有些奇怪,因为MSDN显示这是一个合法的函数,用于获取URL的查询部分。我有所有必要的用法和参考资料,但这仍然无法解决。有什么想法吗

您需要添加对
System.Net.Http.Formatting
库的引用(右键单击引用,然后选择“添加引用”,浏览该库的.Net引用)

然后确保在顶部添加正确的“using”:

使用System.Net.Http


该方法是一种扩展方法,文档可以是。

我只能找到System.Net.Http和System.Net.Http.WebRequest(我以前通过该方法添加了引用,所以我确信我做的是正确的,但它不在那里:/I顺便说一句,我使用的是Framework 4.5.2….已解决-需要使用Nuget,以及该程序集的一个非常特定的版本,任何其他版本都会对另一个程序集产生失败的约束,但这个版本可以正常工作,PM>Install PackageSystem.Net.Http.Formatting-版本4.0.20505