2010-12-28 4 views
1

У меня есть несколько рабочих процессов WF 4.0, которые я создал для приложения, которое разрабатывает моя компания. Некоторые из этих рабочих процессов просты, а некоторые из них очень сложны (т. Е. Много шагов, несколько различных видов действий, пользовательские действия). Для многих из этих рабочих процессов я создал несколько пользовательских действий кода для поддержки некоторых внутренних типов процессов.Windows Workflow Foundation 4.0 Дизайнер Повторное создание с пользовательскими действиями

Рабочие процессы отлично работают, и у нас было очень мало проблем, связанных с их поддержанием в VS 2010. Теперь мы хотим отнести эту ответственность к нашим бизнес-пользователям, поэтому я создал приложение WPF для повторного создания WF-конструктора (согласно образцам MS). Моя проблема заключается в том, что когда я открываю один из рабочих процессов, который содержит операции с пользовательским кодом, эти действия представлены в виде красных ящиков с сообщением об ошибке «Активность не может быть загружена из-за ошибок в XAML».

Я провел исследование и нашел несколько сообщений, в которых упоминается, что это обычно проблема с пространством имен и ссылкой. Rehosted дизайнер в пространстве имен похожее на это:

Company.Application.Workflow.Designer

И деятельность пользовательского кода содержатся в отдельной библиотеке пользовательских рабочих процессов, которые я включил в качестве ссылки в конструкторе проект. Пространство имен библиотечный похож на это:

Company.Application.Workflow.Data.Activities

Как я уже упоминал, библиотека устанавливается в качестве ссылки в проекте дизайнера, и я вижу, что копируется в когда я создаю проект. Я также включил ссылку в XAML основного разработанного приложения.

Что мне не хватает?

ответ

0

Здесь может быть много чего не так. Для одного вы установили LocalAssembly при использовании XamlXmlReader? См. Пример here. Еще одна проблема может заключаться в том, что ваши действия загружаются просто отлично, но сопутствующие разработчики не найдены. Вы также можете использовать событие AppDomain.CurrentDomain.AssemblyResolve, чтобы узнать, какие сборки загружаются и сбой. Или даже лучше использовать Fuslogvw.exe для этой же цели.

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