【发布时间】:2012-07-13 18:06:39
【问题描述】:
我正在使用 .NET 3.5 中的 WPF 构建 GUI 应用程序框架。
我的主应用程序几乎没有依赖项。它的工作之一是加载外部程序集(插件)并从它们请求窗口和控件。
这部分工作正常。
当插件使用 WPF 框架中未定义的控件时会出现问题。例如,我有一个引用 WPF 工具包并使用 DatePicker 的插件。当主应用程序读取 XAML 文件并看到DatePicker 时,它会抛出一个XAMLParseException,声明
找不到类型“Microsoft.Windows.Controls.DatePicker”。大会 编译时使用的可能与加载时使用的不同 类型丢失。
我很清楚为什么会抛出这个异常,并且在主应用程序中添加对 WPF Toolkit 的引用可以解决问题。但是我无法在主应用程序中为插件使用的每个控件添加引用,因为我不知道这些控件可能是什么。
我还要补充一点,主应用程序使用 Assembly.LoadFrom 加载插件。
现在回答问题:
我是否需要让插件将它们的依赖项复制到主应用程序的目录中,然后再加载它们?我还有哪些其他选择? .NET 4 中是否以某种方式解决了这个问题?
【问题讨论】:
标签: c# .net wpf dependencies