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