【发布时间】:2017-06-08 01:29:07
【问题描述】:
我有一个程序集(实际上是 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没有问题,但是通过反射加载它不起作用?
有没有办法在运行时加载程序集类型?
【问题讨论】:
-
这些 dll 通过 COM 使用,但
Assembly.LoadFrom仅适用于 .NET 程序集。COMReference仅包括接口。也许您应该解释一下为什么要尝试动态加载这些内容。 -
我们使用的程序只允许服务器上的 GAC 程序集,我们需要访问客户端计算机上的程序集。此外,如果我们仍然尝试将程序集添加到 GAC,则会出现相同的错误。
-
嗯,这些是本地库,因此您不需要将它们包含在 GAC 中。我认为您甚至不必将它们与您自己的程序集一起分发(您正在嵌入互操作类型),但我在这里可能错了。只要确保 SAP 的东西安装在客户端机器上。
-
这很有帮助,谢谢。它为我连接了一些点。
标签: c# reflection