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

时间:2015-06-27 16:17:25

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

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

现在我为Windows商店应用和Windows手机构建了一个通用应用,我遇到了问题,因为我无法看到如何从我的Windows桌面应用分享现有业务对象

我以为我可以在我的共享项目中创建一个文件夹(windows和windows phone app之间共享的库/项目),只需添加相关的POCO类作为参考"链接&# 34;但这似乎是允许的。

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

我显然不希望有2份这些副本,因为只有当这些POCO课程中的任何一个不同步时才会出现问题。

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

感谢。

1 个答案:

答案 0 :(得分:0)

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