Загрузите и выполните XAML со ссылкой на активность в проекте - PullRequest
0 голосов
/ 06 февраля 2012

Я сделал проект библиотеки деятельности.Затем я создал несколько рабочих процессов в проекте, в основном в качестве демонстрации аргументов ввода и вывода.Я вижу их как повторно используемые компоненты (Деятельности) в наборе инструментов, и использовал несколько в некоторых Действиях FlowChart.Это прекрасно работает в скомпилированном виде.Однако при загрузке и выполнении рабочего процесса из XAML происходит сбой при обращении к ссылке на действие из моего проекта.

Что необходимо сделать, чтобы повторно использовать действия из того же проекта,загрузка и выполнение рабочих процессов из XAML?

1 Ответ

2 голосов
/ 06 февраля 2012

Я подозреваю, что ваша проблема заключается в том, что при создании действий свойство xmlns: local не включает имя сборки, только имя пространства имен. Это означает, что при загрузке файла XAML среда выполнения предполагает, что пространство имен найдено в текущей выполняющейся сборке. Это неверное предположение, когда вы ссылаетесь на библиотеку действий из приложения.

У вас есть два варианта решения проблемы.

1) Вы можете вручную добавить "; assembly = MyActivityLibrary " к свойству xmlns: local (в верхней части XAML-файла). Это просто сделать, но если вы когда-нибудь измените XAML в Visual Studio, вам придется помнить, чтобы каждый раз повторять изменения.

2) Когда вы вызываете XamlServices.Load, вы можете передать второй параметр типа XamlXmlReaderSettings и указать свойство LocalAssembly, которое будет вашей сборкой библиотеки действий. Это был бы более стабильный подход. Тогда не требуется ручное редактирование файла XAML, когда вы

...