想象一下,我的解决方案中有四个项目:
UI项目依赖于Domain和Boot项目。
对于DI容器配置,Boot项目依赖于Domain和Repository项目。
如果我用ASP.NET核心5编写这个代码,UI代码可以访问和实例化Repository类,即使在UI项目中没有依赖项。
在.NET框架4.8中,这种情况没有发生。这种行为使隔离变得不可能,因此这种配置中的依赖反转原则很容易破坏。
在ASP.NET核心5中有一种方法可以关闭这种行为吗?
发布于 2021-05-17 12:15:07
这是.NET Core的默认行为,如果您想要更改它,并且不允许UI间接访问Repository层,可以在.csproj文件中设置如下所示:
<ProjectReference Include="..\Boot\Boot.csproj" >
<ExcludeAssets>all</ExcludeAssets>
</ProjectReference>要了解这方面的更多信息,请看下面的链接链接
https://stackoverflow.com/questions/67563422
复制相似问题