防止一个项目在.NET中引用另一个项目

防止一个项目在.NET中引用另一个项目,.net,projects-and-solutions,.net,Projects And Solutions,我有一个ASP.NET站点,它使用单个类库项目的服务根服务此库调用2个或多个子服务类库项目,例如PeopleService&OrderingService这些服务项目具有到实体框架项目的一对一映射,例如。,PeopleDBEntities&OrdersDBEntities,它们调用各自的数据库 好的,这很好,因为我们对每一部分都有单独的责任,我们不需要在纳秒(而不是毫秒)内通过网络进行呼叫,就可以享受到微服务的好处 然而,当我们向团队中添加新成员时,他们希望调用PeopleService中的Or

我有一个ASP.NET站点,它使用单个类库项目的服务根服务此库调用2个或多个子服务类库项目,例如PeopleService&OrderingService这些服务项目具有到实体框架项目的一对一映射,例如。,PeopleDBEntities&OrdersDBEntities,它们调用各自的数据库

好的,这很好,因为我们对每一部分都有单独的责任,我们不需要在纳秒(而不是毫秒)内通过网络进行呼叫,就可以享受到微服务的好处

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


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

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

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

我假设您已经准备好了单元测试,单元测试是定期运行的,例如作为自动化构建的一部分,这样,通过中断测试,问题将被中断的构建突出显示