【发布时间】:2011-05-02 10:24:33
【问题描述】:
我正在使用 VS2008 SP1 和 WPFToolKit v3.5.50211.1。
我在类库项目中嵌套了 WPF 用户控件,如下所示:
MainWpfUserControl- 包含
NestedUserControl的实例 - 其中包含来自 WPF 工具包的
DataGrid实例。
同一个类库项目包含一个 WinForms UserControl 和一个承载 MainWpfUserControl 的 ElementHost。
在设计器中打开 WinForms UserControl 时,我遇到了奇怪的错误。经过一番挖掘(捕获并记录NestedUserControl构造函数中抛出的异常),似乎抛出了如下异常:
[A]Microsoft.Windows.Controls.DataGrid 无法转换为 [B]Microsoft.Windows.Controls.DataGrid。类型 A 源自 'WPFToolkit, Version=3.5.40128.1, Culture=neutral, PublicKeyToken=31bf3856ad364e35' 在位置 'C:\Program Files\WPF Toolkit\v3.5.50211.1\WPFToolkit.dll' 的上下文 'LoadFrom' 中。类型 B 源自 'WPFToolkit, Version=3.5.40128.1, Culture=neutral, PublicKeyToken=31bf3856ad364e35' 在位置 'C:\Documents and Settings\...\Local Settings\Application Data\Microsoft\VisualStudio 的上下文 'LoadNeither' \9.0\ProjectAssemblies\zfh65-u101\WPFToolkit.dll'
有没有人经历过类似的事情?
更新
我似乎已经通过将 WPFToolkit.dll 放入 GAC 中成功地解决了这个问题。但出于其他原因,这是不可取的(例如 CopyLocal 现在默认为 false)。所以看来问题与加载上下文有关。有什么办法可以控制吗?
【问题讨论】:
标签: wpf designer winforms-interop