【问题标题】:Why does debugging a C# project display C++/CLI symbols?为什么调试 C# 项目会显示 C++/CLI 符号?
【发布时间】:2012-04-12 05:29:40
【问题描述】:

我在一些 C# 库和控制台项目(但不是我从头创建的项目)中遇到了一个奇怪的问题,它们显示手表和智能标签以使用 C++/CLI 表示法进行调试(例如,显示 @987654323 @ 我期望的地方 System.Object):

我已经尝试更改项目 guid,因为我认为这是问题所在(有些已经更改),删除 obj/debug 文件夹,重新启动 Visual Studio 2010,修复 Visual Studio 2010,甚至重新启动 Windows。

是否有任何我遗漏的明显设置已以某种方式启用?

【问题讨论】:

  • 不久前看到一个类似的问题,现在找不到了。
  • @ChrisS:我知道 C++ 是什么。这不是 C++; SomeType^。 CLI 是对语言的修改,它是基于 C++ 的自己的语言。
  • 在编程中经常需要学究气……是具体的事情。
  • 好吧,如果您使用的是 CLI,它确实如此,这就是您看到这些对象的原因(这是我最初的问题)。无论哪种方式,此时都无关紧要,但是当给出相对模糊的信息时,我很难解决问题,而且我是一个坚持准确性的人。调用 CLI C++ 对我来说感觉很不对 :)

标签: c# visual-studio-2010 debugging c++-cli


【解决方案1】:

我也遇到了这个问题,调试器在所有 c# 项目中都选择了 c# 和 c++。我正在运行 Windows 7 64 位。

我通过转到快捷方式属性的兼容性选项卡解决了这个问题。它被检查为作为 windows xp service pack 3 运行。我取消选中它并仍然以管理员检查的方式运行。突然,我的调试器又把它全部选成了 c#。

【讨论】:

    【解决方案2】:

    评论中的As this link 提供了来自 Microsoft 的答案 - “无法重现” 我不得不卸载 Visual Studio 2010 并重新安装它(实际上我重新映像了我的机器)。

    关闭“HEX”选项shown here 确实关闭了十六进制地址,但没有关闭 C++/CLI 显示。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-11-25
      • 1970-01-01
      • 2018-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-10
      相关资源
      最近更新 更多