لماذا يعتبر Dictionary Debug Visualizer أقل فائدة في Visual Studio 2010 لتصحيح أخطاء Silverlight؟

StackOverflow https://stackoverflow.com/questions/2789580

سؤال

كنت أخطئ في Visual Studio 2010 ، والتي قمنا بتثبيتها للتو ونحاول النظر إلى قاموس في نافذة الساعة السريعة. أرى المفاتيح والقيم ، لكن الحفر في تلك تظهر العد والأعضاء غير العامين ، يواصل الأعضاء غير العاملين الممر ولا أرى القيم في القاموس. يمكنني تشغيل test.take (10) ورؤية القيم ، ولكن لماذا يجب علي القيام بذلك. لم أعد يتم تثبيت مقابل 2008 للمقارنة ، لكن يبدو أنه يمكنني تصحيح القاموس أسهل بكثير. لماذا هي بهذه الطريقة الآن؟ هل هو مجرد إعداد قمت بتعيينه بطريقة أو بأخرى على الجهاز الخاص بي؟

رمز الاختبار:

  Dictionary<string, string> test = new Dictionary<string, string>();
    test.Add("a", "b");

تحرير: لقد جربت نفس التصحيح في تطبيق وحدة التحكم ويعمل كما هو متوقع. المشروع الآخر هو تطبيق Silverlight 4 ، لماذا يختلف؟

لقطة شاشة تصحيح وحدة التحكم

لقطة شاشة Silverlight 4:

تحرير: الرد من Microsoft Connect: "كان هذا إغفالًا من جانبنا - لقد قمنا سابقًا بإصلاح هذه المشكلة الدقيقة لـ Visual Studio 2008 SP1 ، ولكن لم يتم نقل هذا الإصلاح للأسف إلى قاعدة الكود Visual Studio 2010. هذا تم إصلاحه الآن مرة أخرى (هذا حان الوقت للخير!) ونحن نبحث في شحن هذا الإصلاح في VS2010 SP1.

Alex Turner Program Manager Visual Basic و C# Compiler "لذلك يجب إصلاحه قريبًا.

تحرير: لقد قمت فقط بفحص هذا في SP1 وهو يعمل بشكل صحيح.

هل كانت مفيدة؟

المحلول

يعد Depugger Visualizer للقاموس هو نفس الفئة بالضبط مع نفس السلوك بالضبط. لا يزال فئة mscorlib_dictionarydebugview الخاصة الخاصة. لا يظهر عدمه ، ويظهر موسعًا ، ويظهر مجموعة من العناصر.

يقترح مقتطف الكود الخاص بك أنك تستخدم فئة قاموس مختلفة تمامًا ، فئة غير عامة.

نصائح أخرى

هناك حل لتفريغ محتويات القاموس في مصحح الأخطاء.

  1. إلى مشروعك ، أضف إشارة إلى LINQ DLL (على سبيل المثال system.core)

  2. أضف العبارة التالية إلى ملف المصدر الخاص بك:

    باستخدام system.linq ؛

  3. في نافذة الساعة ، اكتب:

    Test.Take (1)

  4. ثم قم بتوسيع صف مجموعة "عرض النتائج". هذا يجب أن يعطيك القائمة المألوفة للأزواج الرئيسية.

تم الإبلاغ عن هذا الحل من قبل Rickpastoor على connect.microsoft.com لخطأ 557741

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top