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

时间:2019-02-26 21:56:20

标签: .net projects-and-solutions

我有一个ASP.NET站点,该站点使用来自单个类库项目(RootServices)的服务。此库调用2个(或更多)SubService类库项目(例如PeopleService和{{1 }})这些服务项目与实体框架项目(例如OrderingServicePeopleDBEntities)进行一对一映射,从而分别调用相应的DB。

好吧,这很不错,因为我们对每个部分都负有单一责任,并且获得了微服务的好处,却没有在网络上进行呼叫的巨大浪费(等待时间以毫秒为单位,而不是毫秒!)

但是,当我们向团队中添加新人员时,他们想从OrdersDBEntities呼叫OrdersDBEntities,从PeopleService呼叫PersonEntities没有循环依赖,但仍然没有我设计的**我美丽的建筑正变成一堆意大利面! **

是否有一种简单的方法来强制给定项目只能由其他某些项目引用?

1 个答案:

答案 0 :(得分:1)

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

可以对测试进行适当的命名,这样,如果测试失败,则可以适当地启发有问题的开发人员,甚至无需询问问题出在哪里。

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

相关问题