gpt4 book ai didi

c# - 如何在 "visual studio 2013"中创建由其他库项目组成的统一 c# 库项目

转载 作者:行者123 更新时间:2023-12-04 16:57:53 24 4
gpt4 key购买 nike

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

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

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

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

但是,仅在主库中拖动类不是一种选择,因为我有更多这些迷你库需要根据情况插入和拔出。

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

我错过了什么吗?我还能如何扩展我的主库?
先感谢您。

最佳答案

我同意 Bob Horn 的观点,因为这不是这样做的(通常)。但是我有另一种可能的解决方案。如果项目还不算大,也就是可行,还是有可能的。我发现这可以在除了最大的应用程序之外的所有应用程序上完成。

从本质上讲,您的问题在许多个月前由古代程序员在石器时代解决了,当时他们实现了称为“N 层”架构的东西。这应该给你一个提示,因为你的项目现在正在增长,你需要以新/旧的方式重构/重构和重新考虑它。

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

  • 数据库层( Entity Framework 、nhibernate 或任何自动生成的类),
  • 存储库层(传统上称为数据库访问层)
  • 域层(也称为业务逻辑层,还有其他不太好听的名字)
  • 测试层(用于您的单元/集成测试)
  • 服务层(这让您的所有后端内容都集中在一个地方)
  • UI 层(这可以让您的各种 UI 通过服务层访问您的系统)

  • 请注意,唯一带有复数的层是 UI 层。这是因为您可以编写控制台 UI、Web UI、Apple ICoffeeMaker、IWashingMachine 或 IBoobImplanter 的 UI,或者 Apple 决定接下来发明的任何新设备,Windows 的 UI,Linux 的 UI, Android,基本上是您想要的任何设备的用户界面。

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

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

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

    很多人可能会说这对于小项目来说工作量太大了,但是......
  • 您可以对其进行模板化,使其变得非常快速和容易。
  • 如果模板化得当,随着系统的增长,您只需要添加真正需要的层。
  • 虽然一旦你这样做了一次,你就会看到好处,并且通常会以相同的方式开始所有新项目(因为这样开始比以后你会发现的转换为它更容易)。
  • 你应该考虑到任何成功的系统总是从很小但不可避免地开始
  • 成长为一个更大的系统,
  • 成为更大系统的一部分,
  • 零件被其他系统重复使用。

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

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

    关于c# - 如何在 "visual studio 2013"中创建由其他库项目组成的统一 c# 库项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25568354/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com