Eck*_*ein 4 c# reflection dll gac
这是我的场景:
我有三个项目:两个 DLL 和一个控制台应用程序,让我们将它们命名为 foo.dll、bar.dll 和 console.exe。Console.exe 使用 Assembly.LoadFile(@"c:\foo.dll") 加载 foo.dll。Foo.dll 的项目引用了 bar.dll 并使用了一个类。Console.exe 加载 foo.dll 很好,当 foo.dll 尝试使用 bar.dll 的类时会出现问题。我收到“无法加载程序集:“bar.dll”等等等等异常。
几点:
所以一切都在同一个本地目录中,正确的 dll 被引用(通过项目属性,我已经使用 Reflector 来确保程序集版本正确)。如果我将 bar.dll 安装到 GAC,一切都会按预期进行。
我认为这与 Assembly.LoadFile 调用有关,并跳转到第二个 DLL,但我不确定。
感谢您的时间和投入。
Assembly.LoadFile() 应该只在非常特殊的情况下使用。程序集没有加载上下文,这就是找不到 bar.dll 的原因。唯一真正的用例是工具,即转储程序集元数据的程序。
使用 Load 或 LoadFrom()。对 fuslogvw.exe 的问题进行故障排除
| 归档时间: |
|
| 查看次数: |
1486 次 |
| 最近记录: |