C# 如何在“visual studio 2013”中创建包含其他库项目的统一c库项目

C# 如何在“visual studio 2013”中创建包含其他库项目的统一c库项目,c#,reference,visual-studio-2013,namespaces,project,C#,Reference,Visual Studio 2013,Namespaces,Project,也许解决办法很简单,但我找不到我想要的方法 我有一个主c库项目,我的所有应用程序都是通过引用该项目来使用的 现在我已经创建了另一个小型库项目,我希望我的所有应用程序也能看到这个新项目中的名称空间/类 因为我不能/不应该将此新项目的引用添加到我的所有项目中。我想用这个新的小图书馆扩展我的主图书馆 然而,仅仅在主库中拖动类不是一个选项,因为我有更多的这些迷你库,它们需要根据情况插入和退出 * 因此,我想将这个库的引用添加到我的主*库中,并使我的所有应用程序都能看到新的库代码。 然而,这个想法很酷,我

也许解决办法很简单,但我找不到我想要的方法

我有一个主c库项目,我的所有应用程序都是通过引用该项目来使用的

现在我已经创建了另一个小型库项目,我希望我的所有应用程序也能看到这个新项目中的名称空间/类

因为我不能/不应该将此新项目的引用添加到我的所有项目中。我想用这个新的小图书馆扩展我的主图书馆

然而,仅仅在主库中拖动类不是一个选项,因为我有更多的这些迷你库,它们需要根据情况插入和退出

* 因此,我想将这个库的引用添加到我的主*库中,并使我的所有应用程序都能看到新的库代码。 然而,这个想法很酷,我本来希望它能奏效,但没有奏效

我错过什么了吗?我还可以如何扩展我的主库?
提前谢谢你。

是的,你遗漏了一些东西这样不行。仅仅因为您的主库引用了另一个库,并不能使该库对您的应用程序可用。您的其他应用程序必须引用这些其他库

因为我不能/不应该将此新项目的参考添加到所有 我的项目


为什么??如果你的应用程序需要引用它们,那么就引用它们。这就是它的工作原理。

我同意鲍勃·霍恩的观点,因为这不是一般的工作方式。然而,我有另一个可能的解决办法。如果这个项目还不是太大,也就是说,它还是可行的。我发现除了最大的应用程序外,其他所有应用程序都可以实现这一点

基本上,您的问题在许多月前就被石器时代的古代程序员解决了,当时他们实现了称为N层体系结构的东西。这应该给你一个提示,因为你的项目现在正在成长,你需要重新组织/重构,并以新的/旧的方式重新思考它

例如…大多数项目需要以下内容:

数据库层实体框架或nhibernate或任何自动生成的类, 存储库层传统上称为数据库访问层 域层在其他不太好的名称中也被称为业务逻辑层 单元/集成测试的测试层 服务层这使您的所有后端内容都可以在一个地方自包含 UI层这允许您的各种UI通过服务层访问您的系统 注意,唯一具有复数形式的层是UI层。这是因为您可以编写控制台UI、web UI、Apple ICoffeeMaker UI、IWashingMachine、IBoobImplanter UI,或者苹果下一步决定发明的任何新设备,windows UI、Linux UI、Android UI,基本上还可以编写您想要的任何设备的UI

所有这些UI层都访问服务层,这将强制所有希望访问系统的应用程序以完全受服务层控制的方式访问系统

这还有一个好处,就是将所有相关代码都放在一个地方,这通常对维护、安全性、可测试性、验证等都有很大的好处,让UI层可以自由地做他们最擅长的事情……显示信息

最后,您还可以很容易地将所有最新和最好的设计模式应用到这样的系统中,因为您所要做的就是在您认为有必要解耦的层之间实现接口,并且您已经很好地实现了完整的DI/IOC以及健康饮食为您的项目提供的所有其他好东西

很多人可能会说这对于小项目来说太多了,但是

您可以对其进行模板化,以使其非常快速且易于操作。 如果模板设置正确,则只需在系统增长时添加真正需要的层。 虽然一旦你这样做了一次,你会看到好处,并且通常会以同样的方式开始所有新项目,因为这样开始比以后你会发现转换成它更容易。 你应该考虑到,任何成功的系统都是从小处开始,但不可避免 成长为一个更大的系统, 成为更大系统的一部分, 部件被其他系统重用。 从一开始就有一个适当的结构有助于这种增长


我不知道这是否回答了您的问题,但当我有空闲时间时,我将制作YouTube视频教程,解释如何正确地进行此操作。

谢谢您的回复!这真的是一个不利的情况,我一直按照你说的方式做,直到现在,我希望一旦有时间,最终解决这个问题。看,我有许多xamarin ios应用程序使用主库A,还有许多windows应用程序使用主库B,它们使用单独的库,因为windows中的dll在大多数情况下都不能在ios中工作。
但我在A和B库中仍然有许多共享*类文件,它们正在失去同步。我想在a和B中创建一个C库和子项目…感谢你的努力,它并没有完全回答我的问题,但你所建议的是正确的项目方式,这就是我正在做的。我会有兴趣看你的视频,只要他们准备好了。我已经开始添加新的功能,这些功能在图层定义中作为文件夹中的类。在我的主项目中,通过这种方式,其他引用项目可以立即看到新的接口和类等。但是仍然存在问题,但有趣的是,我无法找到我的一些问题的解决方案。我的下一个问题是其中之一。。