【发布时间】:2010-12-01 01:00:55
【问题描述】:
这是我的场景:
我有三个项目:两个 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”等等等等异常。
几点:
- 所有项目都有强命名
- 宁愿不使用 GAC
- Bar.dll 位于 c:\bar.dll
所以一切都在同一个本地目录中,正确的 dll 被引用(通过项目属性,我使用 Reflector 来确保程序集版本是正确的)。如果我将 bar.dll 安装到 GAC,一切都会按预期工作。
我认为这与 Assembly.LoadFile 调用有关,并跳转到第二个 DLL,但我不确定。
感谢您的宝贵时间和意见。
【问题讨论】:
标签: c# reflection dll gac