命名空间 Flurl 中不存在类型或命名空间 Http

The type or namespace Http does not exist in the namespace Flurl

开始一个新的便携式 Class 库项目,我添加了 Flurl.Http NuGet package,这似乎也如预期的那样降低了它的所有依赖性。

但是当我添加使用 Flurl.Http 指令和一些简单的代码如

using System.Threading.Tasks;
using Flurl;
using Flurl.Http;

public class ClientRepository
{
    public async Task<string> Connect()
    {
        var result = await "http://example.com"
            .AppendPathSegment("/login")
            .PostUrlEncodedAsync(new { username = "you", password = "password" }).ReceiveJson();
        return result.token;
    }
}

我收到编译错误

The type or namespace name 'Http' does not exist in the namespace 'Flurl' (are you missing an assembly reference?)

intellisense 在识别 .Http 命名空间或扩展方法 (PostUrlEncodedAsync) 时没有问题,这很奇怪

这个最基本的 PCL 项目可能缺少什么?

也许我的 package.config 文件很有价值,所以它也在这里:

<packages>
  <package id="Flurl" version="1.0.5" targetFramework="portable-net45+sl50+MonoAndroid10+xamarinios10+MonoTouch10" />
  <package id="Flurl.Http" version="0.4.1" targetFramework="portable-net45+sl50+MonoAndroid10+xamarinios10+MonoTouch10" />
  <package id="Microsoft.Bcl" version="1.1.9" targetFramework="portable-net45+sl50+MonoAndroid10+xamarinios10+MonoTouch10" />
  <package id="Microsoft.Bcl.Async" version="1.0.168" targetFramework="portable-net45+sl50+MonoAndroid10+xamarinios10+MonoTouch10" />
  <package id="Microsoft.Net.Http" version="2.2.22" targetFramework="portable-net45+sl50+MonoAndroid10+xamarinios10+MonoTouch10" />
  <package id="Newtonsoft.Json" version="6.0.3" targetFramework="portable-net45+sl50+MonoAndroid10+xamarinios10+MonoTouch10" />
  <package id="PCLStorage" version="0.9.6" targetFramework="portable-net45+sl50+MonoAndroid10+xamarinios10+MonoTouch10" />
</packages>

我能够使用从您的 packages.config 收集到的目标平台组合进行重现(非常有帮助)。问题似乎出在 Silverlight 5 上。这在某一时刻是有效的;我的直觉是,其中一个依赖库中已取消对它的支持,但我尚未确认这一点。

无论如何,如果您可以在没有 SL5 支持的情况下过关(也许您不能),我已经确认了一个新的 PCL 针对 Flurl.Http 的所有其他人的记录支持使用您的代码构建:

(旁注:我 运行 遇到了试图更改现有项目中的 PCL 目标的问题——从头开始可能会省去一些麻烦。)

对于给您带来的不便,我们深表歉意。我将在 docs 中更新支持的目标列表。我欢迎任何 suggestions/pull 请求让它与 SL5 一起工作。