мы используем самописную 32-битную C ++ DLL из наших приложений на C #. Теперь мы заметили, что когда приложения C # запускаются в 64-битной системе, автоматически используется 64-битная среда выполнения и, конечно, 32-битная DLL не может быть доступна из 64-битной среды выполнения.
Мой вопрос: есть ли способ использовать 32-битную DLL? Если нет, то, если бы я создал 64-битную версию DLL, можно было бы легко позволить приложению выбрать, какой из них следует использовать для P / Invoke?
Я думаю о создании двух вспомогательных классов в C #: один, который импортирует функции из 32-битной DLL, а другой - из 64-битной DLL, затем создает класс-оболочку с одной функцией для каждой импортируемой функции, которая вызывает 32-бит импортер или 64-битный импортер в зависимости от "битности" ОС. Будет ли это работать?
Или есть еще один простой способ сделать что-то?