Why does debugging a C# project display C++/CLI sy

2019-04-03 04:45发布

问题:

I've got a strange problem with some C# library and console projects (but not ones I create from scratch) where they are displaying the watches and the smart tags for debugging using C++/CLI notation (for example, showing System::Object^ where I would expect System.Object):

I've tried changing the project guids, as I thought this was the problem (and some had changed), deleting obj/debug folders, restarting Visual Studio 2010, repairing Visual Studio 2010 and even the old favourite restarting Windows.

Is there any obvious setting I'm missing that has somehow been enabled?

回答1:

I ran into this issue as well, the debugger picked up c# and c++ in all c# projects. I'm running windows 7 64 bit.

I resolved this issue by going to the compatibility tab of the properties of the shortcut. It was checked as running as windows xp service pack 3. I unchecked that and still kept run as administrator checked. Suddenly my debugger picked all of it up as c# again.



回答2:

As this link in the comment provides an answer from Microsoft - "Cannot reproduce" I had to uninstall Visual Studio 2010 and re-install it (in fact I re-imaged my machine).

Switching off the "HEX" option shown here did turn off hex addresses, but not the C++/CLI display.