【问题标题】:Dynamic Load of a DLL after ILMergeILMerge 后动态加载 DLL
【发布时间】:2010-12-01 06:13:23
【问题描述】:

在项目中,我们根据对象设置动态加载 .dll。在 ILMerge 之前,这工作得很好。我们现在使用 ILMerge 并创建了一个 .dll,但加载失败。在 ILMerged 之后如何动态加载 .dll?我们使用的是 VS2008 和 C#。

DLLS:Common.dll、CommonMedical.dll

新 DLL:DMCommon.dll

无法加载 .dll 的当前代码:
asm = Assembly.LoadFrom("CommonMedical.dll");

我做错了什么?我什至尝试了 .Load,但我没有看到名称空间有任何问题,因为它无需 ILMerging 即可工作。提前致谢,

克雷格

【问题讨论】:

标签: c# ilmerge


【解决方案1】:

显而易见的答案,将代码更改为:asm = Assembly.LoadFrom("DMCommon.dll");

您已经创建了一个新的合并程序集文件,并且您正在使用LoadFrom,它使用文件名加载。

【讨论】:

  • 对我来说一定有些困惑......你说使用 .LoadFrom 作为你的答案,但然后说我的错误是使用 LoadFrom ,它使用文件名加载。请澄清 - 谢谢!
  • Preet Sangha 在我的原帖中添加了第二句话。 LoadFrom API 采用驱动器上程序集的名称,而不是命名空间,这就是为什么您需要使用合并程序集的新名称。
  • 哇,这帖子让人困惑。我确实按照您的建议进行了尝试,但在找不到程序集时仍然出现错误。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-09
  • 1970-01-01
  • 2011-01-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多