在通用应用程序和 windows 桌面应用程序之间共享 Business Objects 的最佳方式

Best way share Business Objects between a universal app and windows desktop application

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

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

我以为我可以在我的共享项目(windows 和 windows phone 应用程序之间共享的 library/project 中创建一个文件夹,并且简单添加相关的 POCO 类 作为参考 "link" 但这似乎是允许的。

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

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

是我构建 PCL 库并将这些 POCO 类 添加到其中的唯一选择,然后从我的 windows 桌面应用程序和参考中删除现有的 类 PCL 文件改为它,或者有什么方法可以 link 这些而不必复制它们?

谢谢。

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

中应该没有问题