我有一种情况,我想要在多个应用程序中使用我的功能。特别是,我有一个Repository
采用C#类库的形式,包含EF .edmx,repository和UnitOfWork之类的东西,它们通用,可以跨应用程序使用。
我很沮丧,我无法更清楚地看到图片,因为我应该清楚地了解差异;我做到了一点。但是我认为我无法看清每种选择的后果和整体差异。
我已经阅读了这个链接:How do you share code between projects/solutions in Visual Studio?它提供了一些很好的建议,但这两个建议似乎都有用。我想更好地了解每个人的下游影响,并了解哪个是我需要的正确选择。
我相信链接文件我会在Application-2中创建另一个 new Repository
项目,但是使用链接文件来构成新图层。
我相信将Application-1中的Repository
作为引用添加到Application-2会起作用,但我不确定更改代码的影响是什么。< / p>
我基本上需要知道哪种方法会产生正确的结果,因为我需要在1..n应用程序中共享存储库层?
答案 0 :(得分:4)
如果您有要共享的Repository / UnitOfWork的实现 在多个独立项目中,您有以下选项:
将source * .cs文件放在某个常用文件夹中,并将这些文件作为链接添加到 每个项目。
赞成:
缺点:
将公共代码提取到类库中,包括编译的.dll程序集作为参考 进入这两个项目。
赞成:
缺点:
提取到单独的类库中,并将库包含为项目引用
赞成:
缺点:
但同样,这一切都取决于很多因素 - 你正在使用什么样的版本控制, 什么是项目的生命周期,是否有多个团队开发这些项目,如何部署这些项目以及它们是否将被连接。这一切都会影响最终的决定。