在C#中有没有办法限制对间接引用的库DLL的调用?[重复]

问题描述 投票:0回答:1

我有一个项目是以3层架构设计的。为了简单起见,我将以传统的3层架构来简化我的案例。介绍 -> 商业逻辑 -> DAL.

我在3个不同的项目中有这3个层级,这样我将有1个启动可执行文件和2个DLL。然而,我发现我可以从以下地方调用 演示层DAL层 甚至 DAL层项目 不直接引用 演示层项目.

我想知道是否有任何方法可以让我限制这些间接引用的调用?或者有什么方法可以保证其他开发者不能进行这样的调用?

c# .net-core dll n-tier-architecture dll-reference
1个回答
1
投票

Presenation-项目应该只参考 BusinessLogic-项目

BusinessLogic 仅指 DAL.

我相信 Presentation 同时引用 BusinessLogicDAL.

请确保 Presentation.csproj-文件看起来像这样。

<Project Sdk="Microsoft.NET.Sdk">
... (more stuff) ...
  <ItemGroup>
    <ProjectReference Include="..\BusinessLogic\BusinessLogic.csproj" PrivateAssets="All" />
  </ItemGroup>
</Project>

并不包含DAL项目的参考资料。

© www.soinside.com 2019 - 2024. All rights reserved.