BizTalk не видит ни одной из моих сборок GAC - PullRequest
2 голосов
/ 23 мая 2011

Ребята, я понимаю, что это может выглядеть как обычная проблема "Вы не перезапустили свой экземпляр хоста" ... но это еще не все.У меня есть приложение BizTalk, которое состоит из пары сборок схемы, конвейерной сборки, некоторых карт и т. Д. Я использую Visual Studio 2010 для развертывания этого на BTS2010.Все мои сборки появляются в GAC - мои схемы, мой конвейер и т. Д. Схемы появляются в приложении BT, как и конвейер.Все мои карты отображаются в приложении BT.

Когда я отправляю сообщение с помощью своего пользовательского конвейера, я получаю сообщение «Не удалось получить конвейер» с жалобами на строгие имена и GAC.Когда я не использую конвейер и просто пытаюсь перейти прямо к окну сообщения с сообщением, он жалуется, что не может загрузить спецификацию документа для моей схемы, и снова жалуется на GAC.

Я несколько сотен раз проверил, что сборки на самом деле находятся в GAC, и я перезапустил (включая его остановку) экземпляр хоста несколько десятков раз.

Есть ли еще какие-то странностичто может сделать BizTalk неспособным загрузить мои материалы из GAC, даже если кажется, что он есть, и я перезапустил экземпляр хоста?

1 Ответ

5 голосов
/ 23 мая 2011

Вот несколько вещей, которые нужно проверить:

  1. Убедитесь, что у вас нет нескольких копий / версий одной и той же сборки, развернутых в BizTalk или GAC.
  2. Проверкачто ваши сборки действительно находятся в соответствующем приложении BizTalk и / или что любые родительские сборки (которые создают зависимости), которые могут быть в других приложениях BizTalk, задаются в качестве ссылок в свойствах приложения BizTalk.
  3. Я обнаружил, чтоСамый надежный способ узнать, находится ли сборка в GAC, - gacutil.exe , например, из командной строки Visual Studio (или Windows SDK) используйте команду gacutil.exe /l.Чтобы вывести результаты в файл, просто выполните gacutil.exe /l > c:\gac.txt.Затем вы можете искать в выходных данных, чтобы найти ваши сборки.Может быть, вы можете вручную GAC каждой сборки, используя gacutil /if assemblyname.dll.F заставит существующую сборку перезаписать.
  4. В свойствах проекта для каждого проекта BizTalk в приложении BizTalk посмотрите свойства развертывания и убедитесь, что установлены и Redeploy, и Install to Global Assembly Cache.до true.Также дважды проверьте, что установлены правильные значения Application Name и Server.
  5. Просмотрите журнал событий вашей машины, чтобы увидеть, могут ли быть обнаружены какие-либо другие ошибки, которые могут произойти, прежде чем упомянуто в вашем вопросе..
  6. Полностью вытрите приложение из BizTalk.Дважды проверьте, что все удалено из GAC, используя gacutil.exe (как упомянуто выше).Также дважды проверьте, что все удалено из базы данных управления BizTalk, зайдя в Консоль администрирования BizTalk >> Приложения >> Все артефакты >> Ресурсы и убедившись, что у вас ничего не осталось, даже после удаления ваших приложений.полностью.После всего этого разверните все снова.
...