.NET 传递引用

Gof*_*ofu 0 .net c#

我有这个项目的依赖:

Client[.NET 4.7.2] -> Infrastructure[.NET Standard 2.0] -> ExternalLib[dll]

当我尝试从项目中调用该方法时Infrastructure,编译器生成以下错误:ExternalLibClient

错误 CS0012 该类型ClassX是在未引用的程序集中定义的。您必须添加对程序集的引用ExternalLib

是否可以隐式地做到这一点?我的意思是不需要显式添加这个引用,因为它已经在Infrastructure项目中完成了。

谢谢

Bra*_*NET 5

我相信当您最初说“递归”时,您的意思是“可传递的”(根据您最近的编辑)。

.NET,尤其是 .NET 框架并不真正处理传递引用。正如您所发现的,它要求执行项目显式引用所有依赖项。“隐式”引用不会发生。

似乎有更好的支持在 .NET Core 中引入可传递的依赖项,至少在主要依赖项是 Nuget 包的情况下。