3

我正在查看 Visual Studio 2013 中的新共享项目功能。这是一个非常不错的功能,但是如何在“更高级别”共享项目中使用“基础”共享项目中的代码?看起来共享项目中缺少引用功能...???

如何构建大型现实世界的商业应用程序而不能在多个项目中分离代码?

更新: 我想我不够清楚:

假设您想为 Windows 平台开发一个通用应用程序,并使用 xamarin 来支持 iOS 和 android。因此,您将特定于平台的代码放入特定于平台的项目中,在共享库中定义接口,并通过依赖注入将特定于平台的代码传递给共享代码,并从特定于平台的项目中引用所有特定于平台的库。

到目前为止,一切都很好...

但是为了保持平台特定代码的小,您需要在共享项目中开发业务逻辑和业务逻辑的基本框架。

现在你有了第二个客户。在这里,您当然想再次重用基础框架并构建一个新的业务和 UI 层。

现在我想在两个项目中使用相同的框架层。

如果无法在共享项目之间进行引用,该怎么做?

(链接文件不是一个可能的选项,因为我的项目中的普通解决方案有大约 1000 个文件或更多,因此您将永远无法跟踪您必须在所有解决方案中链接的所有文件。/ ilMerge 也不是可能 - 它不能合并 WPF 项目,也不适用于 Android 和 iOS ......)

4

1 回答 1

3

最后我找到了答案,很简单:只需在解决方案中引用所有客户端项目中的所有共享项目,编译运行良好。

关于此的背景:共享项目中的代码在编译期间被集成到主项目中,就像直接在主项目中一样。因此,要在一个共享库中使用另一个共享库中的代码,您必须引用所有共享库,而不仅仅是您直接使用的那些(这与普通引用不同)

于 2014-10-17T09:09:42.610 回答