Странные результаты в моем окне местных жителей для VS2008 - PullRequest
3 голосов
/ 28 сентября 2010
static void Main(string[] args)
{
    List<string> myList = new List<string>() { "A", "B" };
    string myString = "abc";
    int myInt = 42;
    System.Xml.Linq.XElement root = new System.Xml.Linq.XElement("abc");

    Console.WriteLine(myList.First()); //breakpoint on this line
    Console.WriteLine(myString);
    Console.WriteLine(myInt);
    Console.WriteLine(root);
}

Когда я запускаю приведенный выше код в моей старой среде разработки (vs2008, XP, 32-разрядная версия), я вижу:

args        {string[0]}    string[]
+ myList    Count = 2      System.Collections.Generic.List<string>
myString    "abc"          string
myInt       42             int
+ root      <abc />        System.Xml.Linq.XElement

Когда я запускаю его в моей новой среде разработки (vs2008, Windows7, 64-разрядная версия), я вижу:

args                 {Length=0}            array<System::String^> ^
+ myList             0x000000000254bb60    System::Collections::Generic::List<System::String^>^
myString             "abc"                 System::String^
myInt                42                    int
+ root               0x000000000254be60 { emptySequence=<undefined value> name=0x000000000254bd88 lastAttr=<undefined value> }    System::Xml::Linq::XElement^
+ <>g__initLocal0    0x000000000254bb60    System::Collections::Generic::List<System::String^>^

Мне кажется, что окно Locals моей новой среды говорит мне C ++.

Как я могу изменить поведение окна Locals

Ответы [ 2 ]

3 голосов
/ 28 сентября 2010

Похоже, что отладчик интерпретирует вашу PDB как C ++ / CLI вместо кода C #.Единственная причина, по которой я могу думать, что это произойдет, если ваша установка не работает.В частности, реестр, связанный с выбором оценщика выражений, неверен.Я думаю, что в этот момент вы застряли с ремонтом установки.

Кроме того, вы, вероятно, захотите удалить следующий раздел реестра

HKCU:\Sofware\Microsoft\VisualStudio\9.0
0 голосов
/ 29 сентября 2010

Я решил проблему, сняв флажок «Запускать эту программу в режиме совместимости».

...