Патч DLL в AX 2012 - PullRequest
       19

Патч DLL в AX 2012

0 голосов
/ 14 ноября 2018

У нас есть клиент, у которого установлена ​​старая версия какого-либо программного обеспечения.Есть проблема, и у нас есть решение для нее.Только мы не можем развернуть его у клиента.

Я сам не специалист по AX, но я тоже не понимаю проблемы.Мы декомпилировали «старый» dll, внесли небольшое изменение, перекомпилировали его снова с тем же номером версии s и так далее, и подписали dll с тем же ключом .Если я открываю обе версии с помощью dotPeek, я вижу, что они имеют одно и то же имя сборки.

Затем, когда я заменяю «старый» dll на «новый» dll и запускаю код AX, я получаю следующие ошибки:

  • "Сборка, содержащая тип 'namespace.type', не указана."
  • "Не удалось создать объект 'CLRObject'."
  • "Произошла критическая ошибкав функции [nameOfAxFunction]. "

Так почему же он не берет новую DLL?Проверяет ли AX хэш каждой загружаемой библиотеки и блокирует ли мою новую версию?Нужно ли перекомпилировать код AX ...?

Также в функции AX происходит сбой при создании нового экземпляра типа, который находится в нашей измененной сборке.Так что даже мы не обращаемся к другой dll, которая не может загрузить нашу новую dll, мы идем напрямую из AX в новую версию dll.

Ps:

  • У меня есть двойнойпроверен, и тип все еще находится в сборке.
  • Сборки заменены на: "Program Files (x86)\Microsoft Dynamics AX\60\Client\Bin" & "Program Files\Microsoft Dynamics AX\60\Server\[env-name]\bin"
...