【问题标题】:.net library project vs PCL project reference in Xamarin cross platfromXamarin 跨平台中的 .net 库项目与 PCL 项目参考
【发布时间】:2016-12-30 02:16:22
【问题描述】:

我正在尝试了解 Xamarin 中的 PCL 项目。 Visual Studio 提供Class Library and Class Library (Portable) 模板。

我可以在 Android 和 iOS 中引用 Class Library 项目,那么 Class Library (Portable) 的用途是什么?

我知道 PCL 用于在独立于平台的情况下引用项目,该项目基于 .net 配置文件且类型有限。

如果我能够在 Android 和 iOS 中引用普通库项目,那么为什么在 Xamarin 文档中 PCL 或 Shared 建议用于代码共享

例如,如果我将所有与数据相关的代码保持在同一 PCL 中 或共享,然后要创建 sqlite 连接,我需要在中引用 sqlite 所有三个平台,但在普通库项目中不是 必需,因为 Environment.GetFolderPath 在库中可用 但不是在 PCL 中,因为平台无关。

【问题讨论】:

    标签: xamarin portable-class-library library-project


    【解决方案1】:

    只是因为代码共享。

    即:您正在实现一些数据库包装类,例如存储和获取一些表。通过 PCL 项目,您无需为每个平台编写,只需编写一次(在 PCL 中),然后将其用于所有平台。这种工作需要针对每个平台进行一些本地实现(甚至文件的路径也不同)。在那个阶段,你需要实现一些 Native 并通过一些接口将一些引用传递给你的 PCL 项目。

    换句话说,PCL 库只是您指定的所有平台支持的 .NEt 功能的交集,但类库可能有一些本机引用。

    【讨论】:

    • 类库可能有一些本机引用,没有得到这个。我能够在 Android 和 iOS 中使用类库 dll。我正在了解 PCL,已经使用 PCL 做过项目,但是今天我发现我可以在跨平台中使用类库,这就是我想知道的原因
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-19
    • 2015-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多