2009-02-02 3 views
0

У меня есть два фундамента рабочего процесса (.NET 3.5 SP 1), которые компилируются в порядке. В нем есть два условия декларативного правила. Оба очень просты, примеры:
- this.Shutdown - this.Runtime == NULLОшибка проверки WF во время выполнения

Проект строит правильно без ошибок или предупреждений, однако при запуске приложения он терпит неудачу за исключением: error 1342: Activity 'whileNotShutdown' validation failed: Can not find the condition "Shutdown not requested".

В другом приложении я использую более сложный набор правила в политике, которая генерирует следующее исключение: error 1398: Activity 'Defaults' validation failed: Can not find the rule set "Rule Set1". Check if rule set is defined in the rules file.

Я попытался удалить файл .rules и воссоздавать его воссоздание два правил, и это не поможет.

Вопрос: что не так, что вызывает эту ошибку?

Некоторые вещи я пытался:

  • Размещение правила рабочего процесса в большей рабочий процесс не имеет никакого значения для вопроса.
  • Проблема заключается в том, что все рабочие процессы в решении теперь (даже те, которые раньше работали).
  • Использование условия правила кода не имеет той же проблемы - проблема связана с файлом правил каким-то образом.
  • Перестройка рабочий процесс не помогло

ответ

0

В конце концов нашел причину - это было вызвано пробелами в имени класса, что приводит к тому, что в файле правил есть пробелы, что, по-видимому, вызывает проблему.

Например, это приведет к ошибке:

alt text http://img512.imageshack.us/img512/661/clipboard01wdu.png

Однако это не будет:
alt text http://img140.imageshack.us/img140/9366/clipboard02t.png

0

декларативных правил документооборота не проверяются компилятором, так что нет никакой помощи там. Когда вы ссылаетесь на это правило, это означает рабочий процесс. Поэтому ваши свойства Shutdown и Runtime должны быть объявлены на уровне рабочего процесса. Я предполагаю, что Runtime относится к WorkflowRuntime, и это необычно, а не рекомендуется, чтобы внутри рабочего процесса, поэтому здесь может возникнуть проблема с дизайном.

+0

Я попробовал их на уровне рабочего процесса и та же проблема возникает. Время выполнения - это не время выполнения рабочего процесса, а еще один компонент в системе. –