Работа с .net 4.0 в BizTalk 2006 R2 - PullRequest
1 голос
/ 27 июня 2010

Я работаю над BizTalk 2006 R2 (с руководством ESB 1.0)

Недавно я закончил разработку новой модели (модели Dot net) на VS 2010 с платформой dot net 4.0, новая модель использует функции 4.0 и не может быть понижена. Я обнаружил, что GAC был изменен в новой платформе 4.0 и находится в другом месте ( изменяется на gac в среде dot net 4.0 )

Одна из моих оркестровок использует сборку 4.0 для расширения функциональности. Я зарегистрировал сборку в GAC (новый GAC), но постоянно получаю сообщение об ошибке:

Не удалось загрузить файл или сборку 'MyAssembly, версия = 1.0.0.0, Culture = нейтральная, PublicKeyToken = 0177fe918f6918aa' или одна из ее зависимостей. Система не может найти указанный файл.

Можно ли даже работать с BizTalk 2006 R2 и вызывать сборку dot net 4.0 (используя ссылку)?

P.S Моя альтернатива - выставить модель 4.0 как службу WCF и вызвать ее из BizTalk, но я хочу сохранить ее на последний раз)

Ответы [ 2 ]

3 голосов
/ 04 октября 2011

Просто нет.

До версии 2010 года более старые версии BizTalk Server не знали о новом CLR 4.0 GAC и, следовательно, не могли загружать сборки оттуда. BizTalk Server 2010 является первой версией, поддерживающей CLR 4.0. Для BizTalk Server 2006 R2 вам нужно будет скомпилировать сборку с использованием более старой версии .NET Framework, которая, к сожалению, в вашем сценарии звучит непросто. Вы оказались между молотом и наковальней. Обновите BizTalk Server или найдите способ понизить версию сборки .NET 4.0.

Microsoft удалось добиться высокой степени прямой совместимости каждый раз, когда они версии .NET Framework, но только в рамках определенных версий CLR. Таким образом, код .NET 1.1 был почти полностью совместим с .NET 1.0, а .NET 3.5 довольно совместим с кодом .NET 2.0 (основными проблемами, как правило, является отсутствие определенных языковых функций в старых версиях компиляторов). Тем не менее, каждый раз, когда CLR активируется, все ставки отключены, я боюсь. В конце концов, CLR - это среда выполнения. Вот почему Microsoft долго и усердно размышляет, прежде чем выпускать новую версию CLR. CLR 4.0 является первой крупной ревизией с 2005 года. Мы должны надеяться, что пройдет не менее десяти лет, прежде чем MS почувствует необходимость снова пересмотреть CLR.

1 голос
/ 27 июня 2010

Учитывая план действий Biztalk I , подозреваю , что вам придется ждать Biztalk 2010, где одной из новых функций является .NET 4.0. Предположительно, Biztalk 2006 R2 работает под управлением CLR v2, поэтому пытается загрузить все туда.

Если вам абсолютно необходимы функции .NET 4.0, можете ли вы запустить свой собственный сервер отдельно, а затем поговорить с ним с уровня прокси, написанного на .NET 3.5?

...