我对这个参考错误感到失望.我添加了Microsoft.Net.HttpNuget包,确保将System.Net.Http引用添加到页面,将System.Net.Http命名空间导入到类中.没有.我甚至使用空白模板从头开始重新创建项目.
有人可以提供一些想法吗?谢谢!
小智 12
不确定你是否已经尝试过这个,但是:
我所做的就是在项目引用中添加system.net.http.
在Project Explorer中,右键单击引用 - >添加引用,然后勾选dll列表中的相关复选框,然后单击OK
小智 8
在我的视觉工作室2017 Xamarin.forms项目中我遇到了同样的问题.如果我右键单击我的解决方案,则有"管理NuGet包..."如果我选择它,在"浏览"中,我查找"System.net"我选择了找到的项目,
选中项目的复选框,然后单击"安装"
使用完全限定名称:
public void MyMethod()
{
System.Net.Http.HttpClient client = ....
}
Run Code Online (Sandbox Code Playgroud)
代替:
using System.Net.Http
public class MyClass
{
public void MyMethod()
{
HttpClient client = ...
}
}
Run Code Online (Sandbox Code Playgroud)
这应该会告诉您您遇到了什么问题。如果是名称冲突...
如果目标是 4.6.2 或更高版本,只要安装了任何 nuget 包,就忽略它们,因为它们是现有引用的依赖项。
然后,打开引用 dll 的 .csproj 文件并删除任何特定的版本关联,这样引用现在看起来像这样(旧的 csproj 格式):
<Reference Include="System.Net.Http" />
Run Code Online (Sandbox Code Playgroud)
以前,我的配置看起来像这样:
<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>
Run Code Online (Sandbox Code Playgroud)
这将强烈鼓励 msbuild 将 GAC 中的版本用于目标框架。就我而言,我的目标是 4.7.2,当它警告由于 nuget 包而导致版本冲突时,它使用了该版本。
| 归档时间: |
|
| 查看次数: |
17570 次 |
| 最近记录: |