解决方案的见解和问题。
我的解决方案中存在多个BC,在某些时候它们将被转换为微服务。在这一点上,所有内容都将在同一过程中运行,因此,一个不知不觉中有人可以在他/她想要的任何地方添加引用,如果我们要保留该结构,这当然是不希望的。
所以我要问的是如何执行一个规则,即BC之间将不存在依赖关系,而我不是在谈论拉取请求,对于任何试图使用某些东西的人来说,问题应该立即显而易见除了他/她正在工作的那个BC之外的另一个BC。
我想在我的解决方案中强制执行从一个项目到另一个项目(BC到BC)的依赖项阻止规则。
应在构建时对依赖项进行检查,并导致编译时错误。
有什么办法可以做到?怎么样?
答案 0 :(得分:2)
是的,使用.Net体系结构图绝对有可能。例如,看看dependency diagrams。对所需的体系结构进行建模后,可以将Microsoft.DependencyValidation.Analyzer软件包添加到项目中,该软件包可以实时验证体系结构的依赖关系,并在这些依赖关系被破坏时给出编译时错误。该软件包以NuGet软件包的形式提供,适用于VS2017中的.NET项目。
答案 1 :(得分:0)
您可以看一下如何使用“内部”关键字来保护程序集类以免被访问。 这里有一个更全面的答案:Practical uses for the "internal" keyword in C#