开始一个新的可移植类库项目,我添加了Flurl.Http NuGet 包,这似乎也降低了它的所有依赖项,正如预期的那样。
但是,当我添加 using 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;
}
}
我得到编译错误
命名空间“Flurl”中不存在类型或命名空间名称“Http”(您是否缺少程序集引用?)
奇怪的是,智能感知识别 .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>