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