Как использовать ресурсные win dll без WinAPI на C#?
Есть приложение под винду на С#. Нужно портировать его на другие ОС(iOS/Android/WP/Linux/OS X), но есть одна проблема - данные оно хранит в ресурсных dll(unmanaged), вся работа с которыми ведется с помощью функций WinAPI(LoadLibrary(...),FindResource(...) и тд) Очевидно, что в таком виде код перенести невозможно, ведь в .NET рантаймах под другие платформы точно нету этого функционала. Но ведь по сути эти dll - просто файлы с данными. Может кто-то в курсе, как можно работать с ними без WinAPI? Библиотека какая, или еще что...
если приложение построено верно, т.е. отвечает практикам разработки, таким как solid, dry, kiss и вообще здравому смыслу, то за операции сохранения данных в ресурсы должна отвечать отдельная абстракция, поэтому не вижу проблем на других платформах определить эту абстракцию по другому, и сделать хранение любым удобным образом - в xml, бинарном виде, базе данных или на удаленном сервере.
Так именно через это оно и работает сейчас! Но такой вариант никогда не заработает в mono, например. Именно поэтому нативные винапишные библиотеки нужно из проекта исключить
Как по мне так проще вытащить из dll данные и сохранить в более кроссплатформенном виде. В каком именно уже исходить и типа ресурсов какие там хранятся.
Я тоже думаю, что на других платформах нет понятия DLL и всякие DllImport для них не будут поддерживаться. Лучше воспользоваться неким ResourceExtractor для того, чтобы вытащить ресурсы и использовать уже Managed Resources.