我正在开发一个.NET WinForms应用程序,它在运行时从单独的程序集中加载表单和其他UI元素。这很有效。
但是,我正在加载的其中一个程序集有一个使用GeckoFX或WebKit.NET嵌入Web浏览器控件的表单。当我尝试使用Assembly.CreateInstance()加载该程序集时,我得到一个异常,说它无法找到我正在尝试加载的程序集,即使它在那里。一切都很好,一个单独的测试应用程序与正常的构建/链接适用于这些控件。
这里有什么想法吗?
谢谢,
马特
答案 0 :(得分:2)
您可以尝试使用Fusion Log Viewer查找未加载的依赖项。这假定依赖项是未加载的.NET程序集。如果它是通过P / Invoke丢失的程序集,则会更复杂。
答案 1 :(得分:0)
确保所有依赖项都是可定位的,以及您尝试加载的程序集。
如果你这样做,你应该可以使用任何一个组件。
答案 2 :(得分:0)
这可能发生在两个条件
对于geckofx,您的系统中没有xulrunner,您需要在代码中添加此行 加载xulrunner - Skybound.Gecko.Xpcom.Initialize(@“xulrunner的路径”);
如果您使用的是64位计算机,则会出现异常,需要将其构建为32位版本。