为什么字典调试可视化工具在Visual Studio 2010中用于Silverlight调试不太有用?

Ali*_*ned 10 visualizer visual-studio-2010 visual-studio-debugging silverlight-4.0

我在Visual Studio 2010中进行了调试,我们刚刚安装并尝试在快速监视窗口中查看字典.我看到键和值,但钻进那些显示计数和非公众成员,非公众成员继续跟踪,我从来没有看到字典中的值.我可以运行test.Take(10)并查看值,但为什么我必须这样做.我没有安装VS 2008进行比较,但似乎我可以更轻松地调试字典.为什么现在这样呢?这只是我在机器上设置的设置吗?

测试代码:

  Dictionary<string, string> test = new Dictionary<string, string>();
    test.Add("a", "b");
Run Code Online (Sandbox Code Playgroud)

编辑:我刚刚在控制台应用程序中尝试了相同的调试,它按预期工作.另一个项目是Silverlight 4应用程序,为什么它们不同?

控制台调试屏幕截图

Silverlight 4调试屏幕截图:

编辑:Microsoft Connect的回复:"这是我们的遗漏 - 我们之前已经修复了Visual Studio 2008 SP1的确切问题,但遗憾的是,此修复程序未移植到Visual Studio 2010代码库.现在再次修复此问题(此好的时间!)我们正在考虑在VS2010 SP1中发布此修复程序.

Alex Turner项目经理Visual Basic和C#编译器"所以它应该尽快修复.

编辑:我刚刚在SP1中检查了这一点,它正常工作.

Han*_*ant 0

Dictionary 的调试器可视化工具是完全相同的类,具有完全相同的行为。它仍然是私有的 Mscorlib_DictionaryDebugView 类。未展开时它显示计数,展开时它显示元素数组。

您的代码片段表明您正在使用完全不同的 Dictionary 类,该类不是通用的。