【问题标题】:Preventing one project from referencing another in .NET防止一个项目在 .NET 中引用另一个项目
【发布时间】:2019-07-20 13:03:16
【问题描述】:

我有一个 ASP.NET 站点,它使用来自单个类库项目 (RootServices) 的服务,该库调用 2 个(或更多)子服务类库项目(例如,PeopleServiceOrderingService)这些服务项目与实体框架项目(例如,PeopleDBEntitiesOrdersDBEntities)具有一对一的映射关系,这些项目调用相应的数据库。

好的,这很好,因为我们对每个部分都有单一的职责,并且我们获得了 微服务 的好处,而不会浪费通过网络进行调用(延迟以纳秒而不是毫秒!) p>

但是,当我们向团队添加新人员时,他们希望从 PeopleService 调用 OrdersDBEntities 和从 RootServices 调用 PersonEntities 没有循环依赖关系,但仍然不是我设计的。 **哎呀,我美丽的建筑正在变成一堆意大利面! **

有没有一种简单的方法可以强制一个给定的项目只能被其他特定项目引用?

【问题讨论】:

    标签: .net projects-and-solutions


    【解决方案1】:

    我建议添加项目文件的单元测试以确保不存在引用。根据程序集名称的独特性,这可能就像检查文件是否包含该名称一样简单,或者您可能需要一个正则表达式。

    可以适当地命名测试,这样如果测试失败,相关开发人员可以得到适当的启发,甚至无需询问问题是什么。

    我假设您已经进行了单元测试,这些测试会定期运行(例如,作为自动构建的一部分),这样通过中断测试,问题就会被中断的构建突出显示。

    【讨论】:

      猜你喜欢
      • 2017-11-22
      • 1970-01-01
      • 2013-06-14
      • 2020-03-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-08
      • 2010-12-14
      相关资源
      最近更新 更多