Visual Studio如何加载程序集和Assembly.LoadFrom之间的区别?

时间:2016-04-12 17:53:52

标签: c# reflection

我有一个程序集(实际上是2个)都来自SAP目录C:\Program Files (x86)\SAP\FrontEnd\SAPgui

  • Visual Studio Add Reference - 工作得很好。
  • Assembly.LoadFrom - 在下面抛出异常。
  

无法加载文件或程序集'file:/// C:\ Program Files(x86)\ SAP \ FrontEnd \ SAPgui \ sapfewse.ocx'或其依赖项之一。该模块应该包含一个程序集清单。

为什么我可以添加对visual studio的引用并以这种方式使用dll没问题,但是通过反射加载它不起作用?

有没有办法在运行时加载程序集类型?

1 个答案:

答案 0 :(得分:0)

正如Lucas在评论中指出的,Assembly.LoadFrom仅适用于.NET程序集,而我尝试加载的程序集是COM dll。

我最终要做的是将它们添加到一个项目中,该项目生成了dop的Interop版本,然后我将其添加到GAC中,以便我们最初想要使用它的程序可以访问它。

感谢所有发表在评论中的人,让我了解这个解决方案。