Xamarin 需要参考 Windows.Foundation.FoundationContract

Xamarin needs reference to Windows.Foundation.FoundationContract

我在 Visual Studio 2015 update 2 中使用 Xamarin 创建了一个新的 iPhone (iOs 9.3) 应用程序。我在 mac 上有 Xamarin beta 频道(其中有 Xcode 等)

我有这个代码:

using Windows.Web.Http;
...
private async void GetPois()
{
    var client = new HttpClient();
    var response = await client.GetAsync(new Uri("http://onlinesource/json"));
}

我在 GetAsync 上收到错误 我没有安装 httpclient nuget,因为它引发了错误。

已经安装了 ModernHttpClient nuget,但没有使用它。 @Andrii Krupka 是的,我也有 using System; 我添加了 System.Net.Http 而不是 Windows 但现在找不到类型或名称空间。添加了对 system.net 和 system.net.http 的引用,现在可以使用了。接下来要解决的是禁用ats。将此标记为@SushiHangover 的回答谢谢大家!

使用命名空间 System.Net.Http 而不是 Windows....

那么你的 HttpClient 将在 iOS 下正常工作,假设你禁用了 ATS,因为那是一个不安全的 HTTP link... ;-)

var client = new HttpClient();
var response = await client.GetAsync(new Uri("http://onlinesource/json"));

就个人而言:我非常喜欢 ModernHttpClient @

https://github.com/paulcbetts/modernhttpclient

(跨平台,PCL,更干净,更快,能够在单个请求中跳过建筑物,等等...)