【问题标题】:Best way share Business Objects between a universal app and windows desktop application在通用应用程序和 Windows 桌面应用程序之间共享业务对象的最佳方式
【发布时间】:2015-06-28 02:11:06
【问题描述】:

我的项目中有一个 Windows 应用程序,其中包含我的所有业务对象。这些只是 POCO 实体。这些业务对象可通过各种其他项目(如 Web 服务、业务层等)访问...

现在我正在为 Windows 商店应用程序和 Windows Phone 构建一个通用应用程序,但我遇到了一个问题,因为我看不到如何从我的 Windows 桌面应用程序共享现有业务对象。

我以为我可以在我的共享项目(Windows 和 Windows Phone 应用程序之间共享的库/项目)中创建一个文件夹,并简单地将相关的 POCO 类添加为参考“链接”,但这似乎确实被允许。

然后我想我会创建一个新的共享 PCL 项目,并再次尝试从我的 Windows 桌面应用程序中添加对这些 POCO 类的“链接”引用,但不允许我将这些文件“链接”到项目。我只能添加和复制。

我显然不想拥有这些的 2 个副本,因为只有当这些 POCO 类中的任何一个不同步时才会导致问题。

是我构建 PCL 库并将这些 POCO 类添加到其中的唯一选择,然后从我的 Windows 桌面应用程序中删除现有类并将 PCL 文件引用到它,或者有没有一种方法可以链接这些而不必复制它们?

谢谢。

【问题讨论】:

    标签: c# windows-phone-8.1 win-universal-app


    【解决方案1】:

    在所有平台上共享库的唯一方法是它们是 PCL;任何东西都可以引用 PCL 库。要拥有此实用程序,PCL 库不能绑定到特定平台,因此它们只能引用其他 PCL 库;这就是为什么您不能从 PCL 引用包含您的 POCO 的 Windows 程序集的原因。因此,您的业务对象需要进入 PCL 以便它们可以通过跨多种平台类型的项目引用来使用。如果您的业务对象是如您所说的 POCO,那么将它们存放在 PCL 中应该没有问题。

    【讨论】:

    • 好的,谢谢。我得做一些清理工作,但没什么大不了的,所以转移它们不会有问题。谢谢。
    猜你喜欢
    • 2023-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-23
    • 2011-12-09
    • 2023-03-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多