1

我正在开发一个 .NET WinForms 应用程序,该应用程序在运行时从单独的程序集中加载表单和其他 UI 元素。这很好用。

但是,我正在加载的一个程序集有一个使用 GeckoFX 或 WebKit.NET 嵌入 Web 浏览器控件的表单。当我尝试使用 Assembly.CreateInstance() 加载该程序集时,我收到一个异常,说它找不到我要加载的程序集,即使它在那里。一切都可以正常构建,并且具有正常构建/链接的单独测试应用程序可以与这些控件一起正常工作。

这里有什么想法吗?

谢谢,

马特

4

3 回答 3

2

您可以尝试使用Fusion Log Viewer来查找未加载的依赖项。这假定依赖项是未加载的 .NET 程序集。如果它是通过 P/Invoke 丢失的程序集,它将更加复杂。

于 2009-12-22T22:01:17.693 回答
0

这可能在两种情况下发生

  1. 对于 geckofx,您的系统中没有 xulrunner,您需要在代码中添加此行以加载 xulrunner - Skybound.Gecko.Xpcom.Initialize(@"path to xulrunner");

  2. 如果你在 64 位机器上,那么你会得到一个异常,你需要为 32 位版本构建它。

于 2010-08-26T20:52:08.947 回答
0

确保所有依赖项以及您尝试加载的程序集都是可定位的。

如果你这样做,你应该能够很好地使用任何一个程序集。

于 2009-12-22T21:47:32.307 回答