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

问题描述 投票:-1回答:1

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

好的,这很好,因为我们对每个部分都有单一的责任,我们从微服务中获益,而不是通过网络进行呼叫的可怕浪费(延迟以纳秒为单位,而不是几毫秒!)

然而,当我们向团队添加新人时,他们想要从OrdersDBEntities调用PeopleService,从PersonEntities调用RootServices没有循环依赖,但仍然不是我设计的。 ** Gah我美丽的建筑正变成一堆意大利面! **

是否有一种简单的方法可以强制某个项目只能被其他某些项目引用?

.net projects-and-solutions
1个回答
1
投票

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

测试可以恰当地命名,因此如果失败,有问题的开发人员可以适当地开悟,甚至不需要问问题是什么。

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

© www.soinside.com 2019 - 2024. All rights reserved.