我最近开始研究一个带有 PCL 类的 Xamarin Android/iOS 项目,我想在其中放入所有逻辑。就像我的 Refit 接口、ReactiveUI ViewModels 等等,但每次尝试执行我的代码时,我都会收到一条错误消息我的界面不是改装界面。目前我的界面是这样的。
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 中安装了 Refit 包,并且我在 PCL 中引用了一个 dll,我错过了什么?
如果需要更多信息或您有任何疑问,请随时提出。不用多说,感谢您的阅读,希望有人可以帮助我,因为过去几天我开始失去理智。
编辑:添加调用方法。在这里,我从 ViewModel 调用它
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);