c# - Flurl 缺少方法异常?
问题描述
我正在使用 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 构建的。当我将其包含在安装中时,他们会收到上述错误。这仅适用于少数用户,大多数(包括我的开发机器)不会出现任何错误并且可以正常工作,这是我不明白的。
任何人都知道它为什么会这样做,尤其是为什么它会出现在某些机器上而不是其他机器上?
解决方案
这是一个很常见的问题System.Net.Http
。我以前遇到过它,我越是“白纸黑字”,我的运气就越好。尝试这个:
- 卸载 Flurl 和 Flurl.Http NuGet 包。
- 您在使用 .NET Framework 吗?如果是这样,并且您已
System.Net.Http
通过 NuGet 安装,请也将其卸载。你可能不需要它。 - 检查您的 web.config 或 app.config 文件并删除与
System.Net.Http
. (不要引用我的话,但我认为我什至通过System.Net.Http
完全删除 *.config 中的所有提及来解决这个问题。如果您尝试这样做,请确保您可以回滚。) - 重新安装 Flurl.Http。(它会拉动核心 Flurl,所以不要分开做。)
当然,如果这不起作用,您可以随时筛选上面链接的大量类似问题。这令人沮丧,我认为任何单一的答案都不能在所有情况下都奏效。祝你好运。
推荐阅读
- .net-core - 如何在.net core angular SPA模板中检测页面刷新?
- azure - 错误“请求的域已存在于 Azure 数据库中。” 在 Azure 上购买域时
- spring - Java 8 如何在返回方法之前启动线程
- crystal-reports - Crystal Reports - 全名到初始名称的公式
- javascript - 将 js 代码从 html 页面移动到 js 文件并在我的 html 页面中调用该代码
- javascript - 如何在创建反应应用程序中使用 css 模块(反应语义 ui)?
- ajax - “UmbracoHelper 是用 UmbracoContext 构造的,当前请求不是前端请求。”
- c# - 如何通过方法(不是api)通过identityserver4获取访问令牌?
- postgresql - 使用 postgres_fdw 或 dblink 创建(或复制)表模式
- r - 定期将一列分成多行