我正在尝试在运行时加载 Microsoft.Azure.Search.Common.5.0.2 的 dll。根据我在nuget page上看到的内容,以及安装时 nuget 下载的内容,这取决于 Microsoft.Rest.ClientRuntime.2.3.12 。但是,当我直接尝试使用以下内容加载 Azure.Search.Common dll 时:-
Assembly.LoadFrom(dllPath).GetTypes().Select(t => t.Namespace).Distinct().ToList<string>();
我得到以下加载程序异常:-
{“无法加载文件或程序集 'Microsoft.Rest.ClientRuntime, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' 或其依赖项之一。系统找不到指定的文件。”:“Microsoft.Rest。 ClientRuntime,版本=2.0.0.0,文化=中性,PublicKeyToken=31bf3856ad364e35"}
从nuget安装后我正在加载dll。具体来说,我正在加载以下 dll:
Microsoft.Azure.Search.Common\Microsoft.Azure.Search.Common.5.0.2\lib\net452\Microsoft.Azure.Search.Common.dll
可以肯定的是,我还检查了我的 csproj 和配置文件,以检查某些版本重定向,但情况似乎并非如此。
上下文:我想知道项目可能使用的所有可能的命名空间,因此我正在下载并加载所有 nuget 包以获取它们的命名空间等。
编辑:
我试图通过将 dll 加载到 ILSpy 中来进一步分析它。在加载 dll 时,ILSpy 还显示它引用了 Microsoft.Rest.ClientRuntime 的 2.0.0.0 版本。它也无法加载该引用并给出以下错误:-
// Microsoft.Rest.ClientRuntime, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 // 程序集引用加载信息: // 程序集引用加载过程中出现了一些问题,更多信息见下文!// 错误:找不到参考:Microsoft.Rest.ClientRuntime,Version=2.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35
// System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a (unresolved) // Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed (unresolved) // Microsoft. Rest.ClientRuntime.Azure, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 // 程序集引用加载信息: // 程序集引用加载过程中出现了一些问题,详情见下文!// 错误:找不到参考:Microsoft.Rest.ClientRuntime.Azure, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35