私は最近、すべてのロジックを入れたいPCLクラスのXamarin Android/iOSプロジェクトに取り掛かりました。私のRefitインターフェイスのように、ReactiveUI ViewModels私のコードを実行しようとするたびに、自分のインターフェースがRefitインターフェースではないというエラーが表示されます。現在、私のインターフェースは次のようになっています。Xamarin PCL Refit 3.0.1、Refitインターフェイスのように見えない
public interface IMyApi
{
[Post("/authenticate")]
IObservable<Models.ApiResponses.AuthenticationResponse> SigninRaw([Body] JObject credentials);
[Get("/service")]
IObservable<Models.ApiResponses.MyListResponse> GetServiceListRaw();
[Get("/service/{id}/idstatus")]
IObservable<Models.ApiResponses.IdResponse> GetIdStatusRaw(string Id);
}
は、私の知る限りでは、これはよさそうだし、これはまた、私はiOSのプロジェクトのような特定のプラットフォームからこれをロードしようとしていたときに動作します。しかし、失敗したらPCLからやろうとするとき!私は両方の私のプラットフォーム固有のプロジェクトのAndroidの&のiOSと私はPCLのDLLを参照して、私は恋に落ちたのですか?
さらに詳しい情報が必要な場合やご質問がある場合は、お気軽にお問い合わせください。 これまでの数日間、私の心を失い始めたので、読んでいただきありがとうございました。
編集:呼び出しメソッドが追加されました。 は、ここで私は私がこれを追跡するために管理してきました
var client = new HttpClient(NetCache.UserInitiated)
{
BaseAddress = new Uri("https://api.address.com")
};
var api = RestService.For<IMyApi>(client); <= here it crashes
var response = api.SigninRaw(token);
Post/Get属性をインターフェイスでコンパイルする方法を教えてください。 PCLプロジェクトにリフィットプロジェクトを追加しようとするたびに、プロジェクトタイプがサポートされていないというエラーメッセージが表示されます。これは、PCLプロジェクトでIMOが使用するポイント全体を凌駕します。あなたは誤って別の名前空間の属性を使用していませんでしたか? –
@MarkFeldman私はあなたが何を意味しているのか知っています、私は同じ問題を抱えていました。私はあなたのプラットフォーム固有のプロジェクトでナゲットパッケージをダウンロードする必要があり、次にあなたのPCLプロジェクトにdllを参照する必要があり、それがうまくいくはずであることを知っている限り、誰かの記事を読んだ。しかし、私がそれをすると、私はこのメッセージを受け取ります。 msgstr "" "Refitは再インターフェイスのようには見えません" msgid。うまくいけば、これはあなたを助けることができます。ご質問がある場合はお尋ねください。 –
私はまさに同じ問題を抱えて、これを自分自身で試してみました。いいです、オープンソースです...私はローカルでリポジトリをクローンし、問題を追跡します。これがうまくいかない理由は考えられません。 –