我的.NET 4.0应用程序需要调用非托管C ++编译的DLL。我有DLL的C#包装器。
当我在控制台应用程序中包含C#包装器并调用DLL的第一个方法时,代码崩溃了。如果我检查项目属性下的“允许非托管代码调试”,它可以正常工作。
当我在基于WCF REST的应用程序(托管在IIS上)中添加相同的C#包装器时,代码立即开始崩溃。即使我在计算机的管理员组下运行IIS进程,它也会崩溃。为什么我在WCF项目的项目属性中看不到任何“允许非托管代码调试”?
这是VS中收到的异常:
Unhandled exception at 0x05b65db0 in w3wp.exe: 0xC0000005: Access violation.
为什么当所有DLL文件都在适当的位置时会发生这种情况?