C# 在通用应用程序和windows桌面应用程序之间共享业务对象的最佳方式

C# 在通用应用程序和windows桌面应用程序之间共享业务对象的最佳方式,c#,windows-phone-8.1,win-universal-app,C#,Windows Phone 8.1,Win Universal App,我的项目中有一个包含所有业务对象的windows应用程序。这些只是POCO实体。这些业务对象通过各种其他项目(如web服务、业务层等)进行访问 现在我正在为windows应用商店应用程序和windows phone构建一个通用应用程序,我遇到了一个问题,因为我看不到如何从我的windows桌面应用程序共享现有的业务对象 我想我可以在我的共享项目(在windows和windows phone应用程序之间共享的库/项目)中创建一个文件夹,只需添加相关的POCO类作为参考“链接”,但这似乎是允许的 然

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

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

我想我可以在我的共享项目(在windows和windows phone应用程序之间共享的库/项目)中创建一个文件夹,只需添加相关的POCO类作为参考“链接”,但这似乎是允许的

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

很明显,我不想有两个副本,因为只有当这些POCO类中的任何一个失去同步时,才会导致问题

是我构建PCL库并将这些POCO类添加到其中,然后从windows桌面应用程序中删除现有类并将PCL文件引用到该库的唯一选项,还是有办法链接这些类而不必复制它们


谢谢。

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

好的,谢谢。我需要做一些清理,但没什么大不了的,所以转移它们不会有问题。谢谢