调试C#Project使用的C ++ DLL

时间:2017-09-05 17:53:16

标签: c# c++ dll

我有一个使用C ++ DLL的C#项目。我正在尝试调试DLL,但Visual Studio报告我的DLL的“PDB与图像不匹配”。

  • C ++ DLL由我构建,在同一个生成DLL和完整PDB的解决方案中。
  • C ++ DLL被标记为C#项目的依赖项。
  • 它设置的C#项目,如果它比现有文件更新,则将DLL文件复制到输出目录。
  • C#项目启用了“启用本机代码调试”。

模块窗口下DLL的符号加载信息显示找到了正确的PDB但是抱怨“PDB与图像不匹配”。即使这是由Visual Studio在DLL旁边构建的PDB。

谷歌搜索此错误只会让人们也知道出了什么问题,但从未提供答案。

1 个答案:

答案 0 :(得分:0)

问题是复制DLL。

我已将DLL添加为"现有项目"到C#项目,它显然将文件复制到项目目录中。我不得不在C ++项目中添加一个post-build事件,将DLL复制到C#项目的目录中。然后,如果它更新,它将把DLL复制到输出目录。