我将 VS2008 SP1 与 WPFToolKit v3.5.50211.1 一起使用。
我在类库项目中嵌套了 WPF UserControls,如下所示:
MainWpfUserControl
- 包含一个实例
NestedUserControl
DataGrid
其中包含来自 WPF Toolkit的一个实例。
同一个类库项目包含一个 WinForms UserControl 和一个承载MainWpfUserControl
.
在设计器中打开 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)。所以看来问题与加载上下文有关。有没有办法控制这个?