Перейти к основному контенту

✅ Ошибка загрузки DLL в глобальных модулях при обновлении библиотек

При обновлении пакетов, если были установлены новые внешние пакеты, в глобальных модулях возникают ошибки следующего вида:

ERROR 2020-07-31 12:05:33,589 [14] EleWise.ELMA.Logging.Logger - Error at load types from assembly HMS.Configuration, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null System.IO.FileLoadException: Could not load file or assembly 'DiadocApi, Version=2.2.0.0, Culture=neutral, PublicKeyToken=d18fd4c7ad3c243e' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
File name: 'DiadocApi, Version=2.2.0.0, Culture=neutral, PublicKeyToken=d18fd4c7ad3c243e'


Варианта проблемы может быть два:

  • Самостоятельно в конфигурации заказчиком используются вручную или еще как установленные пакеты (библиотеки) и на них в глобальных модулях, объектах и т.д. используются ссылки (using).
  • Дополнительные модули (компоненты) сторонних разработчиков ELMA (партнеров), в которых внешние библиотеки (пакеты) прописываются для точек расширения и методов.

В первом случае следует самостоятельно следить за пересборкой глобальных модулей, скриптов объектов, документов, пользовательских расширений и отчетов. Лучше отказаться от использования таких библиотек и использовать системные сборки и сборки из основного дистрибутива из пространства имен EleWise.ELMA.

Во втором случае должна присутствовать "обертка" в модулях сторонних разработчиков, которая будет скрывать прямые ссылки на элементы внешних сборок.