Я управлял C++ Dll (скомпилирован с использованием параметра clr), и я вызываю его из неуправляемого консольного приложения C++. Он работает нормально, но не работает нормально в Window 2012, где установлен .Net 4.5.
Я не установил .Net 3.5 на машину с Windows 2012. Я получаю сообщение, что «следующая функция не может быть установлена на .NETframework 3.5.
- Приложение Win32С++
- ManagedDll
Я следил за этой статьей и создал приложение файл конфигурации ManagedDll.dll.config
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0"/>
<supportedRuntime version="v2.0.50727"/>
</startup>
</configuration>
Он не работает, и загрузка dll завершается с ошибкой окна 1114/ERROR_DLL_INIT_FAILED.
Он должен работать без установки .Net 3.5. Нужно ли устанавливать Net3.5 на машину с Windows 2012?
Можно ли использовать файл конфигурации приложения для dll?
ОБНОВЛЕНО1:
Я пробовал использовать простое управляемое приложение С++ вместе с файлом конфигурации приложения, но проблема остается.
NetSample1.exe
NetSample1.exe.config
ОБНОВЛЕНО2
Я попробовал приложение Windows Forms на С#. Оно не работало без app.exe.config и работает с app.exe.
Теперь кажется, что файл конфигурации вообще не консультируется при загрузке dll.