c# - HttpClient 请求中的错误:对类型“Task<>”的引用声称它是在“System.Runtime”中定义的,但找不到 (CS7069)
问题描述
我尝试向 web api 发送一个获取请求。但是 Visual Studio 2017 对 HttpClient 对象方法没有意义!它在我的实例下画了一条红线并给出错误:错误 CS7069 引用类型'Task<>'声称它是在'System.Runtime'中定义的,但找不到它。请注意,这与 UWP 和 Xamarin 中发生的具有相同消息的其他错误不同。
string Baseaddress = "https://localhost:44305/api/values";
HttpClient _client = new HttpClient();
var result = await _client.GetAsync(Baseaddress);
解决方案
我自己解决了这个问题并分享给其他人。如果您从 dot-net-core 项目开始创建解决方案并稍后向其中添加 dot-net 框架项目,则您的 vs 2017 可能会混淆为您的 dot net 框架使用适当的 (System.Net.Http.dll) 文件项目。对于我的 dot net 框架项目 Visual Studio,使用带有地址的 .dll:C:\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Net.Http.dll
但它应该使用这个 dll:C:\ProgramFiles\dotnet\sdk\NuGetFallbackFolder\system.net.http\4.3.0\lib\net46\System.Net.Http.dll
解决这个问题 1. 转到项目的引用部分并删除 System.Net.Http.dll 2. 右键单击引用添加新的 dll 文件并选择添加引用.. 3. 单击浏览并转到第二个我上面提到的目录。
推荐阅读
- spring-boot - 即使单元测试成功,Maven 构建也会失败
- angular - 在 angular.json 文件中设置 optimization=true 时无法下载文件
- json - 从 JSON 响应中删除 EclipseLink 特定字段
- c - 将字符串从 Rust 传递到 C 会导致段错误或错误
- python - 如何修复打印在带有随机库的 python 中不起作用
- ansible - 使用 Google-Authenticator 时的 Ansible SSH 连接
- mysql - 将 SQL 连接查询转换为 django ORM
- php - 如何在 PHP 变量中添加值作为源代码
- angular - ng8 升级:错误:未知的 android 版本 67
- redis - redis设置中的数值数据库值有什么作用?