.Net核心项目参考继承

时间:2019-07-17 12:43:32

标签: asp.net-core-2.1

使用.net core 2.2时,我注意到,如果将项目引用添加到另一个项目,则这些项目引用可用于引用原始项目的其他项目。

例如:

如果您有3个项目,则可以说UI,服务和DAL。如果您从UI引用了Services,而Services则引用了DAL。通过该设置,您将注意到您将能够添加using语句并从IU项目访问DAL项目中的类。背后的原因是什么,可以禁用它吗?

UI
-项目参考
----服务

服务
-项目参考
---- DAL

2 个答案:

答案 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。

希望这会有所帮助。