首页 > 解决方案 > 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);

标签: c#apigetdotnet-httpclient

解决方案


我自己解决了这个问题并分享给其他人。如果您从 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. 单击浏览并转到第二个我上面提到的目录。


推荐阅读