我正在尝试在我的 WPF 应用程序中执行类似的操作:
ToolboxControl ctrl = new ToolboxControl();
Assembly assembly = Assembly.LoadFile(file);
var category = new ToolboxCategory(assembly.GetName().Name);
foreach (Type t in assembly.GetTypes())
{
var wrapper = new ToolboxItemWrapper(t, t.Name);
category.Add(wrapper);
}
ctrl.Categories.Add(category);
即为程序集中找到的每种类型添加 ToolboxItemWrappers。但是最后一行抛出以下异常(见图)
http://img41.imageshack.us/img41/2261/7xvqv.png http://img41.imageshack.us/img41/2261/7xvqv.png http://img41.imageshack.us/img41/2261/7xvqv.png
外部程序集的所有依赖项也在主 (WPF) 应用程序中引用。那么这里出了什么问题以及如何解决呢?
您正在使用Assembly.LoadFile
通过反射加载程序集。但是此方法不会自动在同一目录中查找依赖项。你应该使用Assembly.LoadFrom
.
还要考虑到LoadFrom
通过 Fusion 允许将加载请求重定向到另一个程序集,同时LoadFile
完全加载您所要求的内容。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)