Кто может провести ликбез по загрузке Native Library (dll) из .Net Core. Библиотека разрабатывалась для Window, но вроде Win API не использует. Есть ли способы заюзать ее из Linux через .Net Core без перекомпиляции?
Здравствуйте, Shmj, Вы писали:
S>Кто может провести ликбез по загрузке Native Library (dll) из .Net Core. Библиотека разрабатывалась для Window, но вроде Win API не использует. Есть ли способы заюзать ее из Linux через .Net Core без перекомпиляции?
Не ясно,на чём сделана библиотека. Если это .Net Core, то он и на Linux, и на Windows работает, тут проблем не должно быть.
Если это Windows DLL, то вызвать её прямо из Linux очень вряд ли получится. Как вариант, оставить библиотеку работать под Windows, а из Linux подключаться к Windows по TCP. Конечно, придётся писать сетевой код, зато работать будет точно. Назовите это модным словом "микросервисная архитектура", и вперёд
Здравствуйте, Shmj, Вы писали:
S>Кто может провести ликбез по загрузке Native Library (dll) из .Net Core. Библиотека разрабатывалась для Window, но вроде Win API не использует. Есть ли способы заюзать ее из Linux через .Net Core без перекомпиляции?
Здравствуйте, Слава, Вы писали:
S>>Кто может провести ликбез по загрузке Native Library (dll) из .Net Core. Библиотека разрабатывалась для Window, но вроде Win API не использует. Есть ли способы заюзать ее из Linux через .Net Core без перекомпиляции? С>Нет такого способа. Делайте и .dll и .so
Ну почему же так категорично. Способы очевидно, что есть, ведь "всего-то" нужен правильный интерпретатор (который ld).
А так, на эту тему вот есть библиотека loadlibrary, по моему когда-то и другие были.
Другой вопрос, нужно ли это. Если есть возможность просто собрать .so — то это будет в разы проще, а не заниматься этой фигней.
Здравствуйте, Mystic Artifact, Вы писали:
MA> Ну почему же так категорично. Способы очевидно, что есть, ведь "всего-то" нужен правильный интерпретатор (который ld).
Здравствуйте, Sharov, Вы писали:
MA>> Ну почему же так категорично. Способы очевидно, что есть, ведь "всего-то" нужен правильный интерпретатор (который ld). S> Извините, а о чем речь? Что за интерпретатор?
Динамический компоновщик, иными словами загрузчик эльфов.
Здравствуйте, Shmj, Вы писали:
S>Кто может провести ликбез по загрузке Native Library (dll) из .Net Core.
И там и там ты используешь DllImport, нюанс в том, что для шindoшs ты указываешь DLL я для линпуса — SO
Да. dll-ки можно загрузить и в бубунтах всяких — при наличии Wine какого, но как из него выдернуть EntryPoint в твою либу, или указатели на функции — хз хз.
Я порой тот еще мсье, который знает толк, но в такое еще не влезал.
Так что если есть возможность — пересобери. Тем более, как ты выразился "не использует Win32 API".