我的ASP MVC5 Web应用程序项目的bin文件夹中有一个C ++ DLL。 (由于无法添加引用,我已从原始C ++项目复制并粘贴了它)我能够调用DLL(使用的DLLImport)的某些功能。我在其中一个功能上有问题。这只有在我能够进入C ++ DLL的代码时才能解决。我也有C ++项目的代码(使用Cmake构建)。从Web应用程序代码进行调试时,如何到达C ++代码。如果使用F11,我应该可以找到C ++代码。
调试ASP MVC应用程序中使用的C ++ DLL
[1]首先,请确保所引用的DLL在其文件夹中具有PDB文件或其他输出文件。
您应该在VS IDE中打开c ++项目,然后确保以Debug和x64模式构建它。如果是这样,请重新构建。
然后在c#Web项目中运行,使用DLLImport引用输出Debug文件夹中的xxx.dll
,该文件夹包含pdb和其他整个文件。
[2)第二,转到工具-> 选项-> 项目和解决方案-> Web项目-> 使用IIS Express的64位版本。
[3)第三,如果您调试一个网络核心Web项目,请右键单击该项目-> 属性-> Debug->选中启用本机代码调试。
如果调试网络框架Web项目,请右键单击该项目-> 属性-> Web->选中本机代码。
[4)第四,然后关闭VS实例,删除asp.net核心项目的bin和obj文件夹,然后重新启动Web项目并再次进行测试。
另外,您可以检查此文档Debug C# and C++ in the same debugging session。
更新1
由于该错误,我认为您应该更改为将IIS
设置为x64
,因为您使用的是x64
本机dll。右键单击您的项目-> Properties
-> Web
->将IIS bitness
更改为x64
。