使用.net core 2.2时,我注意到,如果将项目引用添加到另一个项目,则这些项目引用可用于引用原始项目的其他项目。
例如:
如果您有3个项目,则可以说UI,服务和DAL。如果您从UI引用了Services,而Services则引用了DAL。通过该设置,您将注意到您将能够添加using语句并从IU项目访问DAL项目中的类。背后的原因是什么,可以禁用它吗?
UI
-项目参考
----服务
服务
-项目参考
---- DAL
答案 0 :(得分:0)
.NET Core不是唯一的。它与.NET Framework,.NET Standard等的工作方式相同。几乎所有编程语言都可以正常工作。如果A对B有依赖性,而B对C有依赖性,那么A 也对C有依赖性。没有办法解决。为了使整个应用程序正常运行,必须自上而下地满足所有库的要求。 .NET语言中发生的情况可能更明显一点,因为所有依赖项都是独立的DLL,并且每一个都伴随而来。
答案 1 :(得分:0)
我接受@Kirk Larkin的评论并使其对我有用,但是我不得不改用“ ExcludeAssets”:
想象一下这样的事情:
-GUI
----业务层dll
------数据访问层dll
Inside the Business layer dll project file (csproj):
<ProjectReference Include="..\..\DALProject\DALProject\DALProject.csproj">
<ExcludeAssets>compile</ExcludeAssets>
</ProjectReference>
有了这个,我不能再从我的GUI层中引用DALProject方法,而DALProject方法没有被直接引用。此方法还包括供运行时使用的所有支持DLL。
希望这会有所帮助。