如何在“;视觉工作室2013”;由其他图书馆项目组成

本文关键字:其他 图书馆 项目组 工作室 视觉 2013 | 更新日期: 2023-09-27 18:19:55

也许解决方案很简单,但我找不到我想要的方式。

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

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

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

然而,仅仅在主库中拖动类是不可行的,因为我有更多这样的迷你库,需要根据情况插入和拔出。

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

我是不是错过了什么?我还能怎样扩展我的主库?提前谢谢。

如何在“;视觉工作室2013”;由其他图书馆项目组成

我同意Bob Horn的观点,因为(通常)不是这样做的。然而,我有另一个可能的解决方案。如果这个项目还不太大,也就是说,它仍然是可行的。我发现除了最大的应用程序之外,其他应用程序都可以这样做。

从本质上讲,你的问题在许多个月前就被石器时代的古代程序员解决了,当时他们实现了所谓的"N层"架构。这应该会给你一个提示,因为你的项目现在正在增长,你需要重组/重构,并以新的/旧的方式重新思考它。

一个例子。。。大多数项目需要以下内容:

  • 数据库层(实体框架或nhibernate或任何自动生成的类)
  • 存储库层(传统上称为数据库访问层)
  • 域层(在其他不太好的名称中也称为业务逻辑层)
  • 测试层(用于单元/集成测试)
  • 服务层(这可以让你所有的后端东西都被单独包含在一个地方)
  • UI层(这允许您的各种UI通过服务层访问您的系统)

请注意,唯一具有复数的层是UI层。这是因为你可以为Apple ICoffeeMaker、IWashingMachine或IBoobImplant编写控制台用户界面、网络用户界面、用户界面,或者苹果下一步决定发明的任何新设备,windows用户界面、Linux用户界面、Android用户界面,基本上还可以为你想要的任何设备编写用户界面。

所有这些UI层都访问服务层,这迫使所有想要访问系统的应用程序以完全受服务层控制的方式进行访问。

这还具有将所有相关代码包含在一个地方的好处,这通常在维护、安全性、可测试性、验证等方面具有重大好处,并使UI层可以自由地做他们最擅长的事情。。。显示信息。

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

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

  • 您可以将其模板化,使其变得非常快速和简单
  • 如果模板化正确,您只需要随着系统的增长添加真正需要的层。
    • 尽管一旦你这样做了一次,你就会看到好处,并且通常会以同样的方式开始所有新项目(因为这样开始比以后转换更容易,正如你会发现的那样)
  • 你应该考虑到,任何成功的系统总是从小规模开始,但不可避免
    • 成长为更大的系统
    • 成为更大系统的一部分
    • 零件会被其他系统重复使用

从一开始就有适当的结构有助于这种增长。

我不知道这是否回答了你的问题,但当我有空闲的时候,我会在YouTube上制作视频教程,解释如何正确地做到这一点。

是的,您缺少了一些东西。:)这样不行。仅仅因为您的主库引用了另一个库,就不会使其他库对您的应用程序可用。您的其他应用程序必须引用这些其他库。

由于我不能/不应该将此新项目的引用添加到我的项目。

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