2015-04-20 5 views
0

Я пытаюсь переопределить конструктор рабочего процесса в своем приложении WPF.Rehosted Workflow Designer бросает TypeLoadException при загрузке

Однако, когда я пытаюсь инициализировать его я получаю диалог TypeLoadException со следующим сообщением:

«Не удалось загрузить тип„ Reporting.Primitives.Documents.IDocField`1“из сборки«Отчетность .Primitives, Version = 1.0.0.0, Culture = neutral, PublicKeyToken = null '. "

Я попытался зачистки вниз и дошли до простого вызова кода здесь:

var wnd = new Window(); 
var grid = new Grid(); 
wnd.Content = grid; 

var met = new DesignerMetadata(); 
met.Register(); 

var d = new WorkflowDesigner(); 
d.Load(new Sequence()); 
grid.Children.Add(d.View); 
wnd.Show(); 

Это призыв к Load, который вызывает исключение.

Вот эта странная деталь: есть нет Тип решения: IDocField<T>.

Существует IDocField и DocField<T> : IDocField, поэтому он, кажется, изобретает этот тип IDocField<T> откуда-то.

У меня нет рефлекторных звонков, которые ищут IDocField<T>.

Я также попытался переместить этот код вокруг приложения в различные модули, которые напрямую не ссылаются на Reporting.Primitives.

Интерфейс ограничен вокруг IUiDocField<T>.

Любопытно, что я написал интерфейс IDocField<T> некоторое время назад, но сейчас это не в решении, поэтому я не понимаю, почему это вызовет проблемы.

ответ

0

Как обычно It's always your (my) fault.

приложение тянет в плагинах через каталог с помощью отражения, и он появляется там был старый длл там, который ссылается на интерфейс IDocField<T>.

Казалось бы, это не было проблемой, пока дизайнер рабочего процесса не попытался проверить сборку для информации о типе, что-то наконец-то заметило, что она ссылалась на то, чего там не было!

лицоpalm

Смежные вопросы