У меня настроенная версия amqmdnet.dll, на которую ссылается мой проект локально И которая развернута вместе с приложением.
Это в журналах сервера, на котором работает наше приложение и который взаимодействует с IBMqueues
System.IO.FileLoadException: Could not load file or assembly '' or one of its dependencies.
General Exception (Exception from HRESULT: 0x80131500)
File name: 'amqmdnet, Version=7.5.0.0, Culture=neutral, PublicKeyToken=dd3cb1c9aae9ec97'
at IBM.WMQ.MQDestination.Put(MQMessage message)
Однако файл проекта (.csproj) ссылается на совершенно другую версию amqmdnet.dll
<Reference Include="amqmdnet, Version=9.0.5.0, Culture=neutral, PublicKeyToken=dd3cb1c9aae9ec97, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>IBM\amqmdnet.dll</HintPath>
</Reference>
Мы задаемся здесь несколькими вопросами
- В журналах сервера почему номер версии amqmdnet dll отображается как 7.5.0.0 с тем же маркером открытого ключа, даже если у нас развернута версия 9.0.3.0? На сервере не установлен клиент IBM (это пустой контейнер Azure).
- Исключение выдается ТОЛЬКО при вызове метода Put. До этого много инициализации происходит без проблем, например. инициализация объектов MQQueue и так далее. Почему метод Put правильной сборки (9.0.3.0) пытается вызвать метод из другой версии сборки (7.5.0.0)?
Обновление Это произошло из-засистемная проблема и перезапуск, кажется, исправляет это. Он по-прежнему не говорит нам, почему возникла проблема, но не имеет ничего общего с amqmdnet или, возможно, даже с кодом.