问题描述
假设我的解决方案中有四个项目:
- UI
- 域
- 存储库
- 启动
magicsix = []
asd = 0
fgh = 0
win = 6
while asd != win and fgh !=win:
n1 = int(input("Enter your integer to the List: "))
n2 = int(input("Enter your second integer to the List: "))
magicsix.append(n1)
magicsix.append(n2)
print (magicsix)
asd = sum(magicsix)
fgh = magicsix[0] - magicsix[1]
if asd == win:
print("MagicSix")
break
elif asd == win:
print("MagicSix")
break
elif magicsix.clear():
print("MagicSix not won")
项目依赖于 UI
和 Domain
项目。
对于 DI 容器配置,Boot
项目依赖于 Boot
和 Domain
项目。
如果我在 ASP.NET Core 5 中编写它,Repository
代码可以访问和实例化 UI
类,即使我在 Repository
项目中没有依赖项。
在 .NET Framework 4.8 中,这不会发生。这种行为使隔离变得不可能,因此这种配置中的依赖倒置原则很容易被破坏。
有没有办法在 ASP.NET Core 5 中关闭这种行为?
解决方法
这是.NET Core
的默认行为,如果你想改变这个并且不允许UI
间接访问Repository
层,你可以像下面这样设置.csproj
文件:
<ProjectReference Include="..\Boot\Boot.csproj" >
<ExcludeAssets>all</ExcludeAssets>
</ProjectReference>
要了解更多信息,请查看以下链接
bulk_create