У меня есть 32-битное приложение .net, которое использует собственную 32-битную DLL
через DllImport (). Нативная DLL - это наша внутренняя библиотека для анализа файлов, и мне нужно использовать ее, так как перенос ее на C # будет проблемой, если люди обновят ее (ее использует другое программное обеспечение).
Проблема в том, что когда я пытаюсь выполнить какой-либо метод в собственной DLL, я получаю System.ExecutionEngineException . Фактически, я сократил управляемое приложение до простого тестера, который просто вызывает собственный метод, но все равно не работает.
Я нахожусь на 64-битной Windows 7, но это не должно иметь значения, так как я собираю все как 32-битные двоичные файлы.
Что также интересно, когда я смотрю на встроенную DLL в Dependency Walker, она показывает, что она не может найти msvcr90.dll - но когда я открываю любые другие наши собственные DLL в Dependency Walker, она может на них ссылаются msvcr90.dll просто отлично. Может ли быть какая-то ошибка в компиляции нативной DLL, которая испортила ссылки на DLL?