WPFToolKit v3.5.50211.1 で VS2008 SP1 を使用しています。
次のように、クラス ライブラリ プロジェクトに WPF UserControls をネストしました。
MainWpfUserControl
- のインスタンスが含まれています
NestedUserControl
DataGrid
これには、WPF ツールキットののインスタンスが含まれています。
同じクラス ライブラリ プロジェクトには、ホストする ElementHost を持つ WinForms UserControl が含まれていますMainWpfUserControl
。
デザイナーで WinForms UserControl を開くと、奇妙なエラーが発生します。少し掘り下げた後(NestedUserControl
コンストラクターでスローされた例外をキャッチしてログに記録した後)、次のように例外がスローされたようです。
[A]Microsoft.Windows.Controls.DataGrid は [B]Microsoft.Windows.Controls.DataGrid にキャストできません。タイプ A は、'C:\Program Files\WPF Toolkit\v3.5.50211.1\WPFToolkit.dll' の場所にあるコンテキスト 'LoadFrom' の 'WPFToolkit, Version=3.5.40128.1, Culture=neutral, PublicKeyToken=31bf3856ad364e35' に由来します。タイプ B は、場所「C:\Documents and Settings\...\Local Settings\Application Data\Microsoft\VisualStudio」の「LoadNeither」コンテキストの「WPFToolkit、Version=3.5.40128.1、Culture=neutral、PublicKeyToken=31bf3856ad364e35」に由来します。 \9.0\ProjectAssemblies\zfh65-u101\WPFToolkit.dll'
誰かが似たようなことを経験しましたか?
アップデート
WPFToolkit.dll を GAC に配置することで問題を回避できたようです。しかし、これは他の理由から望ましくありません (たとえば、CopyLocal のデフォルトが false になったなど)。したがって、問題は Load Context に関連しているようです。これを制御する方法はありますか?