Я пытаюсь вызвать некоторые функции нативного C ++ в VB.NET, но у меня странная проблема. Если я компилирую свою C ++ DLL в режиме выпуска, она работает, если я компилирую ее в режиме отладки, она выдает ошибку вроде:
Невозможно загрузить DLL 'DllName.dll': параметр неверен.
(Исключение из HRESULT: 0x80070057 (E_INVALIDARG))
Вначале я думал, что может возникнуть проблема с MSVCR100D.dll, на которую есть ссылки в отладочных DLL, но это не так.
Вместо этого я обнаружил, что если я компилирую свою C ++ DLL с использованием опции /OPT:NOREF
, она не работает; если вместо этого я скомпилирую его, используя /OPT:REF
, это сработает.
Я немного растерялся, вы знаете, в чем может быть проблема в этом случае?