Ответ 1
К сожалению, нет способа сделать это с С# EE. Имена этих локальных жителей действительно хранятся в PDB и доступны. Однако С# EE будет отфильтровывать все временные значения во время отладки, чтобы уменьшить беспорядок. Эта фильтрация безусловна и не может быть переопределена. С# здесь не один, так как это поведение на каждом языке.
Хорошей новостью является то, что каждый язык использует разные шаблоны именования для своих временных рядов. Это означает, что временное имя в С# будет работать прямо после фильтрации VB EE. Несмотря на то, что это незаконный идентификатор, VB EE по-прежнему считает его действительным локальным (и наоборот). Следовательно, вам просто нужно временно переключить механизм отладки для кода С# на VB EE, и локальные жители станут видимыми.
Вот как это сделать
- Закройте все экземпляры Visual Studio (это действительно важно)
- Открыть regedit
- Перейдите к
HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\12.0_Config\AD7Metrics\ExpressionEvaluator\{3F5162F8-07C6-11D3-9053-00C04FA302A1}\{994B45C4-E6E9-11D2-903F-00C04FA302A1}
- Измените значение CLSID с
{60F5556F-7EBC-4992-8E83-E9B49187FDE3}
на{59924502-559A-4BB1-B995-5D511BB218CD}
Теперь, когда вы отлаживаете код С#, он будет использовать VB EE и, следовательно, отображать временные ряды как обычные локальные жители. Обратите внимание, что это полностью не поддерживается. Но он должен работать нормально. Я смог увидеть исходные значения закрытия с помощью этой трюки на своей машине и немного пошутить без каких-либо проблем.
Обратите внимание, что эти инструкции относятся к Visual Studio 2013. Если вы используете 2012 или 2010, это должно сработать, изменив 12.0_Config в имени ключа реестра на
- 2012 use 11.0_Config
- 2010 use 10.0_Config
Может потребоваться несколько настроек поверх этого (на самом деле не тестировались более старые версии). Если у вас возникнут какие-либо проблемы, сообщите мне об этом, и я попытаюсь заставить его работать локально и обновить инструкции.
Вот итог финального вывода после внесения этого изменения