Начиная новый проект Portable Class Library, я добавил пакет 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;
}
}
Я получаю ошибку компиляции
Имя типа или пространства имен «Http» не существует в пространстве имен «Flurl» (вам не хватает ссылки на сборку?)
Странно, что 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>