我管理过C ++ Dll(使用clr选项编译),我从非托管C ++控制台应用程序调用它。它工作正常,但在安装.Net 4.5的Window 2012中工作正常。
我没有在Window 2012机器上安装.Net 3.5。我得到提示,因为“无法在.NETframework 3.5上安装以下功能。”
我按照此article创建了应用配置文件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它应该可以工作。我是否需要在Window 2012machine中安装Net3.5?
App配置文件也可用于dll吗?
UPDATED1:
我尝试使用简单的托管c ++应用程序以及app配置文件,仍然存在问题。
NetSample1.exe
NetSample1.exe.config
UPDATED2
我尝试过C#windows窗体应用程序。如果没有app.exe.config,它就无法使用,而且它正在使用app.exe。
现在加载dll时似乎根本没有参考配置文件。
答案 0 :(得分:0)
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v2.0"/>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
</configuration>