我注意到在使用 .net core 2.2 时,如果您将项目引用添加到另一个项目,这些项目引用可用于引用原始项目的其他项目。
例如:
如果您有 3 个项目,比如说 UI、服务和 DAL。如果您从 UI 引用了服务,而服务引用了 DAL。通过该设置,您会注意到您将能够添加 using 语句并从 IU 项目访问 DAL 项目中的类。这背后的原因是什么,可以禁用吗?
UI——
项目参考
——服务
服务
——项目参考
——DAL
我接受了@Kirk Larkin 评论并使其对我有用,但是我必须使用“ExcludeAssets”来代替:
想象一下这样的事情:
-- 图形用户界面
---- 业务层dll
------ 数据访问层dll
Inside the Business layer dll project file (csproj):
<ProjectReference Include="..\..\DALProject\DALProject\DALProject.csproj">
<ExcludeAssets>compile</ExcludeAssets>
</ProjectReference>
Run Code Online (Sandbox Code Playgroud)
这样,我就无法再从未直接引用的 GUI 层引用 DALProject 方法。此方法还包括供运行时使用的所有支持 DLL。
希望这可以帮助。
Chr*_*att -6
这并不是 .NET Core 独有的。它与 .NET Framework、.NET Standard 等的工作方式相同。这几乎是所有编程语言的工作方式。如果 A 依赖于 B,B 依赖于 C,那么 A也依赖于 C。这是没有办法解决的。必须从上到下满足所有库的要求,整个应用程序才能正常运行。在 .NET 语言中发生这种情况可能更为明显,因为所有依赖项都是单独的 DLL,并且每个依赖项都随缘而生。
| 归档时间: |
|
| 查看次数: |
1880 次 |
| 最近记录: |