【发布时间】:2014-07-14 12:05:07
【问题描述】:
我正在尝试从 scriptcs 脚本中使用 HttpClient,但遇到了一些问题。首先,我什至无法安装Microsoft.Net.Http NuGet 包,因为这个包需要 NuGet 2.8,并且 scriptcs 是使用 NuGet.Core.dll 2.7 版安装的。但是在从 MyGet(版本 0.10 alpha)获取预发布版本的 scriptcs 后,Microsoft.Net.Http 已成功安装。但是,尝试实例化 HttpClient 会导致错误:
错误 CS0234:类型或命名空间名称“HttpClient”不存在 在命名空间“System.Net.Http”中(您是否缺少程序集 参考?)
我尝试使用“使用”指令或指定限定类型名称。没有运气。我可以跟踪 Microsoft.Net.Http 是否已加载。
这是失败的代码:
using System.Net.Http;
var client = new HttpClient();
更新。发现了问题。我认为引用 Microsoft.Net.Http 就足够了。但在 .NET 4.5 中,我还必须引用 System.Net.Http:
#r "System.Net.Http"
现在可以了!
【问题讨论】:
-
愚蠢的问题,您是否针对正确的框架,例如4.5?
-
嗯,我可以控制框架吗?在命令行选项中没有找到任何内容。
-
但看起来它抓取了旧的 System.Net.Http 东西,即使它说它成功加载了 Microsoft.Net.Http。
-
您能否检查一下您是否在项目中引用了该程序集?
-
我发现了问题:我还必须执行 #r "System.Net.Http"
标签: c# .net httpclient scriptcs