Может ли XamlReader загрузить xaml, который содержит типы, определенные во внешних сборках? - PullRequest
8 голосов
/ 21 июля 2011

XamlReader загружает Xaml с использованием типов, определенных в локальной сборке, и сборок WPF без проблем.

Если я включаю типы, определенные во внешних сборках, тогда XamlParseException со следующим сообщением.

Невозможно создать неизвестный тип '{clr-namespace: Telerik.Windows.Controls; assembly = Telerik.Windows.Controls.Charting} SeriesMapping'. 'Номер строки «13» и положение строки «18».

Можно ли загружать типы из внешних сборок, используя эту технику?

1 Ответ

8 голосов
/ 21 июля 2011

Да, это возможно.Хитрость заключается в загрузке внешних сборок в домен приложений перед выполнением вызова XamlReader.Parse.

Если на сборки ссылаются из сборки, выполняющей вызов, то простейшим способом сделать это будет объявление переменнойиспользуя тип из этой внешней сборки.Обратите внимание, что создание экземпляра типа необязательно.

В качестве альтернативы метод Assembly.Load может использоваться для загрузки несвязанных сборок.

...