Не загружается транспортный агент Exchange Server, «Созданный более новой средой выполнения»

#.net #exchange-server #exchange-server-2010 #exchange-transport-agents

#.net #exchange-server #exchange-server-2010 #exchange-transport-agents

Вопрос:

Я создал простой транспортный агент (с использованием .NET 4.0) для exchange 2010 и пытаюсь установить его с помощью командной строки exchange, но сталкиваюсь с этой ошибкой:

 Could not load file or assembly 'file:///C:Program FilesMicrosoftExchange ServerV14PublicMySimpleAgent.
dll' or one of its dependencies. This assembly is built by a runtime newer than the currently loaded runtime and cannot
 be loaded.
      CategoryInfo          : InvalidArgument: (:) [Install-TransportAgent], BadImageFormatException
      FullyQualifiedErrorId : 3A033BB9,Microsoft.Exchange.Management.AgentTasks.InstallTransportAgent
  

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

У меня есть:

  • Убедился, что мой проект ссылается на оба Microsoft.Exchange.Data.Transport и Microsoft.Exchange.Data.Common
  • Развернул мою сборку (ы) на Program FilesMicrosoftExchange ServerV14Public

Есть другие предложения?

Комментарии:

1. Понизить целевую версию .NET Framework и перестроить?

2. Я снизил его до 3.5 и столкнулся с той же проблемой.

3. Пробовал понизить его до 3.0? 2.0?

4. Я не пробовал использовать значения ниже 3.5, но я сильно подозреваю, что это не будет иметь значения, поскольку обсуждение technet показало, что другие пытались это безрезультатно.

5. У меня было то же сообщение об ошибке. Когда я попытался скомпилировать с помощью framework 2.0, компилятор выдает мне предупреждение и сообщает мне, что Microsoft.exchange… библиотеки DLL зависят от системы. Ядро v3.5!!! и не компилируется.

Ответ №1:

Я два дня гонялся за своим хвостом, пытаясь разобраться в этом. Проблема заключалась в том, что версия Microsoft.Exchange.Data.Распространенный и Microsoft.Exchange.Data.Транспортные библиотеки DLL, на которые ссылаются в моем проекте, не соответствуют версии DLL в папке «public» на транспортных серверах-концентраторах. После обновления моей библиотеки DLL, на которую даны ссылки, до правильной версии проблема исчезла.

Ответ №2:

У меня была такая же проблема несколько дней. Мой коллега установил .NEt Framework 4.0 (без перезагрузки сервера), и проблема все еще была там. После того, как я прочитал много записей на форуме и советов и рекомендаций, я обнаружил проблему на моем Exchange Server 2010. Мне пришлось только перезапустить IIS. После перезагрузки я смог установить свой транспортный агент без проблем.

Ответ №3:

Попробуйте скомпилировать в 64-разрядной версии, это сделало работу за меня!

Ответ №4:

Для работы установки мне пришлось скомпилировать как x64, так и .NET 3.5 (используется VS2013)

Также помогло выполнение iisreset, потому что я изначально получал ошибку даже с .NET 3.5. Потому что w3wp заблокировал файл из-за того, что я пытался повторно установить его.

Для двух ссылок требовался .NET 3.5

Майкрософт.Exchange.Data.Обычный

Майкрософт.Exchange.Data.Транспорт

.NET 4.0 у меня не работал, и я изначально попытался использовать .NET 2.0, следуя документации MS