我有一个项目是以3层架构设计的。为了简单起见,我将以传统的3层架构来简化我的案例。介绍 -> 商业逻辑 -> DAL.
我在3个不同的项目中有这3个层级,这样我将有1个启动可执行文件和2个DLL。然而,我发现我可以从以下地方调用 演示层 到 DAL层 甚至 DAL层项目 不直接引用 演示层项目.
我想知道是否有任何方法可以让我限制这些间接引用的调用?或者有什么方法可以保证其他开发者不能进行这样的调用?
Presenation
-项目应该只参考 BusinessLogic
-项目
BusinessLogic
仅指 DAL
.
我相信 Presentation
同时引用 BusinessLogic
和 DAL
.
请确保 Presentation.csproj
-文件看起来像这样。
<Project Sdk="Microsoft.NET.Sdk">
... (more stuff) ...
<ItemGroup>
<ProjectReference Include="..\BusinessLogic\BusinessLogic.csproj" PrivateAssets="All" />
</ItemGroup>
</Project>
并不包含DAL项目的参考资料。