Я использую VS2008 SP1 с WPFToolKit v3.5.50211.1.
Я вложил WPF UserControls в проект библиотеки классов следующим образом:
MainWpfUserControl
- Содержит экземпляр
NestedUserControl
- Которая содержит экземпляр
DataGrid
из набора инструментов WPF.
Тот же проект библиотеки классов содержит WinForms UserControl с ElementHost, на котором размещается MainWpfUserControl
.
Я получаю странные ошибки при открытии WinForms UserControl в дизайнере. После небольшого поиска (перехвата и регистрации исключения, созданного в конструкторе NestedUserControl
), кажется, что исключение выбрасывается следующим образом:
[A] Microsoft.Windows.Controls.DataGrid нельзя преобразовать в [B] Microsoft.Windows.Controls.DataGrid. Тип A происходит из «WPFToolkit, Version = 3.5.40128.1, Culture = нейтральный, PublicKeyToken = 31bf3856ad364e35» в контексте «LoadFrom» в расположении «C: \ Program Files \ WPF Toolkit \ v3.5.50211.1 \ WPFToolkit.dll». Тип B происходит из WPFToolkit, Version = 3.5.40128.1, Culture = нейтральный, PublicKeyToken = 31bf3856ad364e35 в контексте LoadNeither в расположении C: \ Documents and Settings \ ... \ Local Settings \ Application Data \ Microsoft \ VisualStudio \ 9.0 \ ProjectAssemblies \ zfh65-u101 \ WPFToolkit.dll '
Кто-нибудь испытывал что-нибудь подобное?
ОБНОВЛЕНИЕ
Кажется, я успешно решил проблему, поместив WPFToolkit.dll в GAC. Но это нежелательно по другим причинам (например, CopyLocal теперь по умолчанию имеет значение false). Похоже, проблема связана с контекстом загрузки. Есть ли способ контролировать это?