如何在不加载该程序集的情况下将 AssemblyName 解析为程序集文件路径?

How can I resolve an AssemblyName to an assembly file path without loading that assembly?

.NET Framework、.NET Core 或 .NET Standard 中是否有任何 public API 可以将 System.Reflection.AssemblyName 解析为程序集的文件路径将被加载的文件,实际上没有加载那个程序集?

我目前最好的是这个:

string ResolveToPath(AssemblyName name) => Assembly.ReflectionOnlyLoad(name).Location;

但这仍然会导致程序集被加载(尽管只是加载到仅反射上下文中)。

(假设我不想更改运行时定位程序集的方式。我要求在库中使用它,在库中我不能随意检查应用程序配置文件,定义 AppDomain.AssemblyResolve 处理程序等)

框架中的候选人API:

框架外的其他库如何处理程序集解析?

一些特定于平台的指针