0

新しいポータブル クラス ライブラリ プロジェクトを開始して、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>
4

1 に答える 1

1

packages.config から収集したターゲット プラットフォームの組み合わせを使用して再現できました (非常に役に立ちました)。問題は Silverlight 5 にあるようです。これは、ある時点では機能していました。私の推測では、依存ライブラリの 1 つでサポートが削除されたということですが、まだ確認していません。

いずれにせよ、SL5 のサポートなしでやっていけるのであれば (そしておそらくできないかもしれません)、Flurl.Http がサポートするように文書化されている他のすべてを対象とする新しい PCL があなたのコードでビルドされることを確認しました:

Flurl.Http PCL サポート

(補足: 既存のプロジェクトで PCL ターゲットを変更しようとして問題に遭遇しました。白紙の状態から始めることで、頭痛の種を回避できるかもしれません。)

ご不便をおかけして申し訳ございません。docsでサポートされているターゲットのリストを更新します。SL5 で動作させるための提案やプル リクエストを歓迎します。

于 2015-01-28T03:38:30.673 に答える