我对这个参考错误感到失望。我添加了Microsoft.Net.Http
Nuget包,确保将System.Net.Http
引用添加到页面,将System.Net.Http
命名空间导入到类中。没有。我甚至使用空白模板从头开始重新创建项目。
有人可以提供一些想法吗?谢谢!
答案 0 :(得分:10)
不确定您是否已经尝试过此操作,但是:
我所做的就是在项目参考中添加system.net.http。
在Project Explorer中,右键单击引用 - >添加引用,然后勾选dll列表中的相关复选框,然后单击“确定”
答案 1 :(得分:7)
在我的视觉工作室2017 Xamarin.forms项目中我遇到了同样的问题。 如果我右键单击我的解决方案,那就是 "管理NuGet包..." 如果我选择它,在"浏览"中,我寻找" System.net" 我选择了找到的项目 选中项目的复选框,然后单击"安装"
答案 2 :(得分:3)
使用完全限定名称:
public void MyMethod()
{
System.Net.Http.HttpClient client = ....
}
而不是:
using System.Net.Http
public class MyClass
{
public void MyMethod()
{
HttpClient client = ...
}
}
这应该会告诉你你遇到了什么问题。如果是名称冲突......
答案 3 :(得分:2)
第1步:
右键单击您的命名空间即项目 - >添加 - >添加Nuget包。
第2步:
搜索system.net.http并添加包。
第3步:
将using System.Net.Http;
添加到您的cs类。
答案 4 :(得分:1)
如果定位到4.6.2或更高版本,请忽略安装的所有nuget软件包,因为它们是您现有引用的依赖项。
然后,打开引用该dll的.csproj文件,并删除任何特定的版本关联,以使引用现在看起来像这样(旧的csproj格式):
<Reference Include="System.Net.Http" />
以前,我的配置看起来像这样:
<Reference Include="System.Net.Http, Version=4.1.1.2, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Net.Http.4.3.3\lib\net46\System.Net.Http.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
这将强烈鼓励msbuild将GAC中的版本用于目标框架。就我而言,我的目标是4.7.2,当它警告由于nuget软件包而导致版本冲突时,它使用该版本。
答案 5 :(得分:0)
就我而言,解决方案是将Visual Studio Professional 2017从15.x.y升级到15.9.18。
答案 6 :(得分:0)
由于您已经添加了Microsoft.Net.Http
Nuget程序包,因此在项目引用中System.Net.Http旁边必须有一个感叹号,如下所示:
您需要再次删除此文件:右键单击它,然后选择“删除”,然后从dll列表中再次添加它
答案 7 :(得分:0)
确保您的版本是.net 4.5及更高版本。我正在运行.net 4.0,该库将无法工作。您需要将解决方案移至4.5。然后使用Nuget进行安装。