Проблема пространства имен в BizTalk Orchestration. Это ошибка?

1

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

Вот простые шаги, чтобы повторить эту проблему:

  1. Создайте проект biztalk, измените пространство имен по умолчанию Project, скажем, "CorpName.EDI.Testing".

  2. Добавить ссылку на Microsoft.BizTalk.Edi.BaseArtifacts в проекте

  3. создайте новую оркестровку, простое падение, получите резкое, установите ее как "Активировать" = "Истина", установите его выражение фильтра как (EDI.ST01 == "997")

  4. создать порт/сообщения, чтобы заставить оркестровку работать.

  5. Построить. Вы увидите ошибку сборки следующим образом:

    Тип или имя пространства имен "ST01" не существует в пространстве имен "CorpName.EDI" (вам не хватает ссылки на сборку?)

Код cs, созданный из оркестровки, выглядит следующим образом:

     new System.Type[] {
        typeof(EDI.ST01)
    },
    new Microsoft.XLANGs.BaseTypes.EXLangPredicateOperator[] {
        Microsoft.XLANGs.BaseTypes.EXLangPredicateOperator.eOpEqual
    },

Ясно. Если ваше собственное пространство имен проектов имеет "EDI", тогда компилятор попытается разрешить выражение "EDI.ST01" в оркестровке с вашим собственным пространством имен проектов, и это не приведет к тому, что у вас нет ST01 в вашем проекте.

Теги:
biztalk
biztalk-2013
biztalk-orchestrations

1 ответ

3
Лучший ответ

То, что вы испытываете, - это хорошо известное "поведение" дизайнера оркестровки с BizTalk Server 2004.

Извините, нет.

Единственное решение - не использовать "EDI" в ваших пространствах имен решений.

Это не относится к "EDI", вы заполняете эту проблему, если пытаетесь использовать "BTS" в другом месте.

  • 0
    Спасибо. Сейчас я меняю пространство имен своего проекта.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню