繁体   English   中英

显示带有其他DLL引用的DLL窗口时出错

[英]Error displaying a window of a DLL with references to other DLLs

我正在尝试加载DLL中的窗口,但是该窗口包含对另一个DLL(WPF工具包)中的自定义WPF控件的引用,问题是在渲染窗口实例System.Windows.Markup.XamlParseException并显示以下消息:

“您无法加载文件或程序集'Xceed.Wpf.Toolkit,PublicKeyToken = 3e4669d2f30244f4'或其依赖项之一。系统找不到指定的文件。”

如果我从主项目中引用了WPF Toolkit,就可以解决问题,但是我需要在不引用WPF Toolkit的情况下进行工作。

我需要这项工作而不参考WPF工具包。

为什么? 请详细说明该要求。


的确,只要您的程序本身不直接引用WPF Toolkit程序集的成员,就可以合法地编译而不引用WPF Toolkit程序集。 但是您使用的DLL本身在运行时需要WPF Toolkit程序集。 因此,无论程序的程序集是否引用WPF Toolkit程序集,都必须做一些事情以确保WPF Toolkit程序集在运行时可用,并可以由所使用的DLL加载。

最简单的方法之一是添加WPF Toolkit程序集作为参考。 您说您不想这样做,但是不解释原因。 另一种方法是将WPF工具包DLL添加为项目项(例如,“添加现有项...”,“添加为链接”),并将项类型设置为“内容”,并使用“如果更新则复制”。或“始终复制”。 一种更复杂的方法是将其添加到GAC中。

为此,您可以根据需要手动将DLL复制到项目的输出目录中。 重要的是,存在WPF工具包的DLL,以便当您引用的DLL需要它时,.NET可以加载它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM