Я не могу показать какой-либо код, поскольку он находится в закрытой сети. Но вот в чем проблема.
Существует Java-программа, работающая с Java 8, которую я не могу изменить. Эта программа использует System.load() для загрузки DLL C++, использующей JNI. Dll C++ — это мое программное обеспечение, которое используется для подключения программы Java к моей программе C#. Мы обновляем наш код с dotnet framework 4.8 до dotnet 6.0. Когда я создаю C++ dll CLR с целевой платформой 4.8, она прекрасно загружается в программу Java. Если я изменю только CLR на netcore и Target на .NET 6.0 и соберу его, программа Java выдаст ошибку с сообщением «Невозможно найти зависимости». Я использовал dumpbin, чтобы найти зависимости dll, все из которых находились либо в одной папке, либо в папке system32. Я ради тестирования переместил их все в ту же папку, что и C++ dll, но безрезультатно. Я не могу заставить его загрузиться. Есть ли проблема с зависимостями, которую я упускаю (я надеюсь, что это так), или это, возможно, ошибка из-за того, что программа Java 8 не поддерживает сборку dll C++ с netcore 6.0 (надеюсь, это не так, поскольку Я не могу обновить Java-программу)? Кажется, я не могу найти в Интернете что-либо по этой конкретной проблеме. Я не уверен, почему dll C++ CLR работает нормально, но dll C++ netcore не загружается. Любая помощь будет оценена по достоинству.
Подробнее здесь: https://stackoverflow.com/questions/785 ... -8-program
Проблема с загрузкой dll C++ netcore 6.0 в программу Java 8 ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение