【问题标题】:Flurl Missing Method Exception?Flurl 缺少方法异常?
【发布时间】:2019-10-11 05:49:18
【问题描述】:

我正在使用 Flurl 来使用 API,并且在大多数情况下它运行良好。但是,我有一些用户遇到了缺少方法异常。我正在尝试从其中一位体验它的用户那里获得完整的堆栈跟踪,但到目前为止我只有一个消息的屏幕截图。异常消息是:

System.Threading.Tasks.Task`1<System.Net.Http.HttpResponseMessage>Flurl.Http.GeneratedExtensions.PostJsonAsync(Flurl.Http.IFlurlRequest, System.Object, System.Threading.CancellationToken, System.Net.Http.HttpCompletionOption)

这是奇怪的事情;我最初没有在我的安装中包含 System.Net.Http,对于大多数用户来说一切似乎都运行良好,但有些用户开始收到“无法加载 System.Net.Http 版本 4.1.x”(不记得 x 部分但它是 4.1.something...)。无论如何,当我参考 Flurl.Http 2.4.2.0 时,我查看了它是使用 System.Net.Http 4.6.26907.1 构建的。当我将其包含在安装中时,他们会收到上述错误。这仅适用于少数用户,大多数(包括我的开发机器)不会出现任何错误并且工作正常,我不明白。

任何人都知道它为什么会这样做,尤其是为什么它会出现在某些机器上而不是其他机器上?

【问题讨论】:

    标签: c# reference flurl


    【解决方案1】:

    这是一个漂亮的common problemSystem.Net.Http。我以前遇到过它,我越是“白纸黑字”,我的运气就越好。试试这个:

    1. 卸载 Flurl 和 Flurl.Http NuGet 包。
    2. 您使用的是 .NET Framework 吗?如果是这样,并且您通过 NuGet 安装了 System.Net.Http,请也将其卸载。你可能不需要它。
    3. 检查您的 web.config 或 app.config 文件并删除与 System.Net.Http 关联的所有 binding redirects。 (不要引用我的话,但我认为我什至通过从 *.config 中完全删除所有提到 System.Net.Http 来解决这个问题。如果你尝试这样做,请确保你可以滚动它回来了。)
    4. 重新安装 Flurl.Http。 (它会拉动核心 Flurl,所以不要分开做。)

    当然,如果这不起作用,您可以随时筛选上面链接的大量类似问题。这令人沮丧,我认为任何单一的答案都不能在所有情况下都奏效。祝你好运。

    【讨论】:

    • 呃,这很有趣。好的,感谢您提供的信息,我将进行一些研究,看看我能想出什么。
    • 好吧,经过一些有趣的研究,我想我已经成功了。卸载和重新安装不起作用,我最终不得不在引用 Flurl 的消费者的主程序中强制安装它所要求的版本。感谢您向我指出正确的资源。
    猜你喜欢
    • 2018-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多