【问题标题】:Cannot add Judopay to Xamarin forms project无法将 Judopay 添加到 Xamarin 表单项目
【发布时间】:2018-05-18 06:40:39
【问题描述】:

我正在尝试将 Judopay 包含在我的项目中,并且能够将其添加到 Android 和 iOS,但不能添加到 Xamarin 表单项目。没有要包含的 NuGet,我似乎无法添加组件引用。关于如何添加它的任何想法?我不能使用其中任何一个:

using JudoDotNetXamarin;
using JudoPayDotNet.Enums;
using JudoPayDotNet.Models;

同样,它们仅适用于 iOS 或 Android,但不适用于 Xam 表单。

【问题讨论】:

  • 您可能必须包装平台特定的东西并使用依赖注入来使其与表单一起使用。
  • 我所要做的就是手动将组件文件夹添加到我的项目中,然后编辑我的引用。它们起初没有出现,但后来我能够取消文件夹,最后我只是将引用添加到我的 .csproj 文件
  • 这些是参考资料(以防它帮助某人):..\..\Components\judopay-xamarin-sdk-3.0.4\lib \android\JudoDotNetXamarin.dll..\..\Components\judopay-xamarin-sdk-3.0.4\lib\android\JudoDotNetXamarinAndroidSDK.dll ..\..\Components\judopay-xamarin-sdk-3.0.4\lib\ios-unified\JudoDotNetXamariniOSSDK.dll参考>

标签: xamarin reference xamarin.ios xamarin.forms xamarin.android


【解决方案1】:

那是因为它们只提供平台实现。您需要告诉您的表单应用在什么时间使用哪个实现。

解决这个问题的正确方法是使用某种形式的IoC,使用依赖注入或服务定位。幸运的是 Xamarin Forms 集成了这个: https://developer.xamarin.com/guides/xamarin-forms/application-fundamentals/dependency-service/introduction/

在您的共享代码中使用来自 Android 或 iOS 项目的引用可能无法完全工作或破坏事情。也许不是立即,但肯定会在以后。 (除非确实没有特定于平台的功能,否则您可能会侥幸逃脱。)

【讨论】:

    猜你喜欢
    • 2019-11-12
    • 2020-02-11
    • 1970-01-01
    • 1970-01-01
    • 2014-11-18
    • 2016-11-14
    • 2021-01-26
    • 1970-01-01
    • 2015-08-29
    相关资源
    最近更新 更多