سؤال

حتى إذا كنت إنشاء نظيفة WinForms المشروع وتحرير تزال لا تعمل ويعطيني خطأ:

تغييرات غير مسموح بها عند المصحح قد تعلق بالفعل عملية تشغيل أو رمز يتم تصحيحه كان الأمثل في بناء أو تشغيل الوقت.

  1. وتحرير مواصلة الخيار في أدوات → خيارات → التصحيح.
  2. الأمثل هو عدم تمكين.
  3. يبدو أنه لا يوجد أي تمكن التعريف اقامة.
  4. وأنا على تشغيل في وضع التصحيح
  5. أنا على التوالي على x64 CPU و نظام التشغيل Windows XP 32-bit, ولكن وضع منصة الهدف x86 بدلا من AnyCpu لا يساعد.
  6. إصلاح تثبيت Visual Studio لا يساعد.

وجدت أيضا هذه المادة على موقع MSDN:

غير معتمد سيناريوهات

وتحرير تزال غير متوفرة في سيناريوهات التصحيح:

  • تصحيح الأخطاء في نظام التشغيل Windows 98.

  • وضع مختلط (الأم/المدارة) التصحيح.

  • تصحيح SQL.

  • تصحيح الدكتورواتسون تفريغ.

  • تحرير التعليمات البرمجية بعد استثناء غير معالج عند "الاسترخاء مكدس الاستدعاءات على الاستثناءات غير المعالجة" لم يتم تحديد الخيار.

  • التصحيح جزءا لا يتجزأ من تطبيق وقت التشغيل.

  • التصحيح تطبيق مع إرفاق بدلا من تشغيل التطبيق مع بدء تشغيل من القائمة "تصحيح".

  • التصحيح رمز الأمثل.

  • تصحيح التعليمات البرمجية المدارة عندما يكون الهدف هو تطبيق 64-بت.إذا كنت ترغب في استخدام تحرير والاستمرار ، يجب تعيين الهدف إلى x86.(خصائص المشروع ، ترجمة علامة التبويب خيارات متقدمة مترجم الإعداد.).

  • التصحيح نسخة قديمة من التعليمات البرمجية الخاصة بك بعد نسخة جديدة فشل في بناء بسبب أخطاء بناء.

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

عملت من قبل ، ولكن قبل عدة أيام أنه توقف عن العمل و لا تعرف ماذا يمكن أن يكون السبب.

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

المحلول

وصلت أخيرا إلى حل المشكلة: إلغاء غاليو

غاليو يبدو أن بعض العديد من حواف خشنة و أنه من الأفضل عدم استخدام MbUnit 3.0 ولكن استخدام MbUnit 2.0 إطار ولكن استخدام غاليو عداء ، التي تعمل بدون تثبيت من المثبت (وهو أيضا تثبيت visual studio البرنامج المساعد).

بالمناسبة, لقد كانت المسألة حتى بعد "تعطيل" انه غاليو المساعد.فقط إلغاء تثبيت حل المشكلة.

PS.حرره nightcoder:
في حالتي تعطيل TypeMock المعزل (ساخرا الإطار) وأخيرا ساعد!Edit & مواصلة يعمل الآن!!!

هنا هو الجواب من TypeMock الدعم:

بعد النظر الى مزيد من تحرير وتستمر المسألة ، والحديث عن ذلك مع مايكروسوفت, وصلنا الاستنتاج بأنه لا يمكن حلها بالنسبة المعزل.المعزل تنفذ CLR التعريف ، وفقا البحث مرة CLR التعريف هو تمكين المرفقة وتحرير مواصلة تعطيل تلقائيا.وأنا آسف أن أقول هذا لم يعد يعتبر علة ، بل الحد من المعزل.

نصائح أخرى

الحلول القابلة للتطبيق

وهنا ناقصة، غير مرتبة قائمة بالحلول الممكنة التي يمكنك تجربتها إذا كنت تريد إصلاح "التحرير والمتابعة" بسرعة:

  • تأكد من وجودك وضع التصحيح
  • تأكد من عدم تشغيل عملية الوضع المختلط
  • حاول ضبط هدف وحدة المعالجة المركزية على x86 بدلا من AnyCPU (على أجهزة x64)
  • قم بإلغاء تحديد تحسين الكود خانة الاختيار ل وضع التصحيح في خصائص المشروع->تصحيح الأخطاء
  • قم بإلغاء التحديد تمكين التحسينات في إعدادات المترجم المتقدمة
  • (ASP.NET) تحقق إجابة برنامج التشفير الليلي إذا كان الأمر كذلك
  • (ASP.NET) تحقق هذه الإجابة (بواسطة Matrixugly) إذا كان الأمر كذلك
  • (ASP.NET) تأكد من أن لديك تحرير ومتابعة تمكين على ويب علامة التبويب (مقابل 2010)
  • (ASP.NET) اذهب إلى الخصائص > الويب > الخوادم, ، والتأكد من ذلك تمكين والمتابعة تم فحصه تحت استخدم خادم تطوير Visual Studio.
  • (ASP.NET WebAPI) تأكد من أنك توقفت في طريقة وحدة التحكم باستخدام نقطة توقف، قبل محاولة تحريرها.
  • اذهب إلى أدوات > خيارات > تصحيح الأخطاء > عام وتأكد تتطلب أن تتطابق الملفات المصدر تمامًا مع الإصدار الأصلي لم يتم تحديده.
  • هل تستخدم Microsoft Fakes؟يمنع التحرير والمتابعة.
  • قتل جميع *.vshost.exe الحالات عن طريق الاختيار شجرة عملية نهاية في ال مدير المهام.سيقوم VS بإعادة إنشاء المثيل الصحيح.
  • قم بإزالة جميع نقاط التوقف باستخدام التصحيح->حذف كافة نقاط التوقف
  • تمكين ومتابعة موجود في كل من أدوات > خيارات > تصحيح الأخطاء القائمة وأيضا في إعدادات المشروع.تأكد من التحقق من كلا المكانين.لا يتم دعم التحرير والمتابعة مع إعداد Intellitrace الممتد.
  • تأكد معلومات التصحيح في خصائص المشروع > البناء > خيارات متقدمة > الإخراج > معلومات التصحيح تم ضبطه على ممتلىء
  • قد تتداخل بعض المكونات الإضافية.تحقق عن طريق تعطيل/إلغاء التثبيت ثم حاول مرة أخرى الحلول الأخرى.
  • إذا لم تكن تولي اهتمامًا كافيًا، فقد يتغير الخطأ الذي تتلقاه أثناء محاولة إصلاح ذلك إلى شيء آخر يسهل تشخيصه.على سبيل المثاللا يمكن للطريقة التي تحتوي على تعبير لامدا أن تدعم التحرير والمتابعة.
  • تأكد من متغير النظام COR_ENABLE_PROFILING لم يتم تعيين ل 1.يقوم بعض ملفات التعريف بتعيين هذا عند التثبيت ويتركه على هذا النحو بعد إلغاء التثبيت.افتح موجه الأوامر واكتب set للتحقق بسرعة من تأثر نظامك، إذا كان الأمر كذلك، قم بإزالة المتغير أو قم بتعيينه على 0:

    • في نظام التشغيل Windows 8 والإصدارات الأحدث، ابحث عن نظام (لوحة التحكم).
    • انقر على إعدادات النظام المتقدمة وصلة.
    • انقر متغيرات البيئة.
    • يزيل COR_ENABLE_PROFILING
  • إحذر من سيناريوهات غير مدعومة (كما ورد في السؤال) وذلك تعديلات غير مدعومة.

* بـ "أنت" أقصد زائر الصفحة الذي يطرق رأسه على لوحة المفاتيح ليجد الحل.

لا تتردد في تعديل هذه الإجابة إذا كان لديك نصائح أخرى!

إذا كنت تقوم بتصحيح أخطاء تطبيق ASP.NET، فانتقل إلى الخصائص > الويب > الخوادم، وتأكد من تحديد "التمكين والمتابعة" ضمن استخدام Visual Studio Development Server.

كان لي نفس المشكلة.حتى أنني قمت بإعادة تثبيت VS 2008 لكن المشكلة لم تختف.ومع ذلك، عندما قمت بحذف جميع نقاط التوقف، بدأ العمل.

Debug->Delete All Breakpoints

أعتقد أن ذلك كان يحدث لأنني قمت بحذف صفحة aspx تحتوي على نقاط توقف في الكود الخاص بها، ثم قمت بإنشاء صفحة أخرى بنفس الاسم.ربما أدى هذا إلى إرباك VS 2008.

بضعة أشياء للتحقق

  • تأكد من تعيين الترجمة الخاصة بك على Debug vs.يطلق
  • تأكد من عدم تشغيل عملية الوضع المختلط
  • إذا كنت تستخدم جهازًا يعمل بنظام 64 بت، فتأكد من ضبط هدف وحدة المعالجة المركزية على x86 بدلاً من AnyCPU

يحرر

لا أعتقد أن هذا مهم ولكن تأكد من تمكين عملية الاستضافة للنظام الأساسي المستهدف.ربما لن يساعد.

إذا كان الأمر يتعلق بمشاريع جديدة، فقد يكون الأمر أكثر دقة.سأحاول ما يلي.

  • النسخ الاحتياطي HKCU:\Software\Wow6432Node\VisualStudio\9.0 (ربما مجرد إعادة تسميته)
  • احذف نفس المفتاح
  • حاول النسخ مرة أخرى

إذا كانت مخاوفك تتعلق بتطبيق ASP.NET، فتأكد من تمكين التحرير والمتابعة في علامة تبويب الويب (vs2010).كان هناك أيضًا إعداد منفصل لتصحيح أخطاء ASP.NET في الإصدارات السابقة.

يعتبر،

آدم.

لم ينجح أي من الحلول المذكورة أعلاه بالنسبة لي (يعمل على جهاز 64x).

وأخيرا قمت بالنقر على 'advanced compiler settings' و لم يتم التحقق منه 'enable optimizationsويمكنني الآن التنقل خلال التعليمات البرمجية والتحرير أثناء تصحيح الأخطاء.

لقد وجدت أنه على الرغم من أن علامات تبويب Build & Debug الخاصة بممتلكات المشروع ، تم تعيينها على تصحيح الأخطاء وجميع الإعدادات الأخرى صحيحة ، إلا أنني ما زلت أتلقى الرسالة ، ولكن بعد حفر المزيد ضمن قائمة Config Configurations Manager ...وتأكد من تحديد Debug في مكانين هناك أيضًا.اذهب واكتشف... كم عدد الأماكن المختلفة التي يحتاجون إليها لضبط التصحيح؟؟؟؟؟؟على الرغم من قيامك بتعيين Project - Configuration على Debug، فإنه ضمن Build - Manager لم يتم تغييره، لذا قمت بتغيير نفس الإعداد هناك أيضًا تكوين المشروع - يبدو وكأنه مشكلة Microsoft مرة أخرى.......

هذه المشكلة بسبب إعداد Intellitrace

إذا تم تمكين Intellitrace، فتأكد من تحديد حدث Intellitrace فقط

وإلا فإن هذا لن يسمح بالتحرير والمتابعة..

إذا نقرت على خيارات Intellitrace فسترى التحذيرات.

ساعدني التصوير التالي في استخدام VS2010:

انتقل إلى "الأدوات" و"الخيارات" و"التصحيح" و"عام" وتأكد من إلغاء تحديد "يتطلب أن تتطابق ملفات المصدر تمامًا مع الإصدار الأصلي".

"التحرير والمتابعة"، عند تمكينه، سيسمح لك بتحرير التعليمات البرمجية فقط عندما يكون في وضع التوقف:على سبيل المثالعن طريق إيقاف التنفيذ مؤقتًا بسبب استثناء أو عن طريق الوصول إلى نقطة توقف.

وهذا يعني لك لا أستطيع قم بتحرير الكود عندما لا يتم إيقاف التنفيذ مؤقتًا!عندما يتعلق الأمر بمشروعات الويب لتصحيح الأخطاء (ASP.NET)، فهذا أمر غير بديهي للغاية، حيث أنك غالبًا ما تريد إجراء تغييرات بين الطلبات.في هذا الوقت، رمز تصحيح الأخطاء الخاص بك (على الأرجح) لا يعمل، لكنه لم يتم إيقافه مؤقتًا أيضًا!
لحل هذه المشكلة، يمكنك النقر فوق "كسر الكل" (أو الضغط على كنترول+بديل+استراحة).وبدلاً من ذلك، قم بتعيين نقطة توقف في مكان ما (على سبيل المثال.في الخاص بك Page_Load الحدث)، ثم أعد تحميل الصفحة بحيث يتوقف التنفيذ مؤقتًا عندما يصل إلى نقطة التوقف، و الآن يمكنك تحرير التعليمات البرمجية.حتى رمز في .cs ملفات.

بالنسبة لي، لسبب لا أفهمه، تم ضبط الإعداد "إنشاء معلومات التصحيح" في "إعدادات المترجم المتقدمة" على "pdb-only" بدلاً من "Full".

افتراضيًا، يتم تعيين هذه المعلمة دائمًا على "كامل" ولكن روح شريرة غامضة قامت بتغيير هذه المعلمة في الليلة الماضية.:)

ملاحظة.أنا أستخدم Visual Basic .Net مع Visual Studio 2010

لقد واجهت هذه المشكلة في Microsoft Visual Studio 2008 والحل سهل.عند تشغيل مشروعك، يرجى ضبطه على وضع "التصحيح" وليس "الإصدار".يمكن أن يكون حل الأشخاص الآخرين مفيدًا.

يحدث ذلك عندما لا يصل مصحح الأخطاء إلى نقطة توقف أو عندما لا تضغط على "كسر الكل" (إيقاف مؤقت).لا يمكن أن يكون الأمر بهذه البساطة، أليس كذلك؟

يقول الخطأ أن السبب المحتمل هو:"تم تحسين التعليمات البرمجية التي يتم تصحيحها في وقت الإنشاء أو التشغيل".انتقل إلى خصائص المشروع->تصحيح الأخطاء وقم بإلغاء تحديد مربع تحسين التعليمات البرمجية لوضع التصحيح.

إذا قمت بإنشاء مشروع جديد، فلن تنجح التعديلات أثناء تصحيح الأخطاء.إذا قمت بإنشاء موقع ويب جديد، فسيتم إجراء التعديلات أثناء تصحيح الأخطاء كما هو متوقع.

بعض الأشياء التي يبدو أنها تساعد في استخدام VS2010:

  • انتقل إلى الأدوات، ثم الخيارات، ثم تصحيح الأخطاء، ثم عام وتأكد من إلغاء تحديد "يتطلب أن تتطابق ملفات المصدر تمامًا مع الإصدار الأصلي".
  • يمكن ترك عدة مثيلات .vshost.exe من على سبيل المثال.فصل مصحح أخطاء VS عن العملية المتوقفة.سيتداخل هذا مع نقاط التوقف والتجميعات أيضًا.استخدم إدارة المهام، علامة التبويب "العمليات" لإيقاف كافة مثيلات .vshost.exe عن طريق النقر بزر الماوس الأيمن فوق كل مثيل وتحديد "إنهاء شجرة العملية".سيقوم VS بإنشاء مثيل جديد.

لقد قمت بإزالة مجموعة بيانات من مشروعي لأنني لم أستخدمها.بعد ذلك يمكنني تعديل البرنامج عند تصحيح الأخطاء.

لقد قمت بجميع التغييرات المذكورة في كل إجابة أخرى ولم ينجح أي منها.ماذا تعلمت؟ تمكين ومتابعة موجود في كل من القائمة Tools > Options > Debugging وأيضًا في إعدادات Project.بعد أن قمت بالتحقق من كليهما، نجح خيار التمكين والمتابعة بالنسبة لي.

لقد واجهت هذا اليوم - اتضح أن تعيين معلومات التصحيح على pdb فقط (أو لا شيء، كما أتخيل) سيمنع التحرير والمتابعة من العمل.

تأكد من ضبط معلومات التصحيح على "كامل" أولاً!

خصائص المشروع > البناء > خيارات متقدمة > الإخراج > معلومات التصحيح

ما نجح بالنسبة لي هو إلغاء تحديد "استخدام وضع التوافق المُدار" ضمن

أدوات -> خيارات -> تصحيح الأخطاء

تي بي ان:يبدو أن تحديد أو إلغاء تحديد "يلزم أن يتطابق الملف المصدر تمامًا مع الإصدار الأصلي" لا يؤثر على E&C

نأمل أن يكون هذا يمكن أن يساعد.

تمكين التحرير والمتابعة يعمل فقط على تشغيل IIS Express.لا تعمل في محطة الفضاء الدولية المحلية أو المضيف الخارجي.

في حالتي، مجرد إعادة التعيين إلى إعدادات مصحح الأخطاء الافتراضية وإعداد IntelliTrace-> تساعد أحداث intellytrace فقط

يجب ضبط الاستوديو المرئي لأنواع التشغيل المتداخل على القيمة false

لقد حدث هذا في ملف فئة مرتبط.يسمح باقي المشروع بالهندسة والإنشاءات، ولكنني حصلت على نفس الخطأ أثناء تحرير الملف المرتبط.كان الحل هو تقسيم الملف المرتبط إلى مشروعه الخاص والإشارة إلى المشروع.

أنا واجهت نفس المشكلة.كانت مشكلتي أنني أستطيع تعديل ملف، ولكن ليس آخر (كلاهما في نفس المشروع).اكتشفت لاحقًا أن الملف الذي لم أتمكن من تعديله كان أيضًا جزءًا من مشروع آخر.أنه لم يتم تحميل مشروع آخر (اختبار الوحدة)، و ذكي يُظهر مصحح أخطاء VS الخطأ المتمثل في عدم تحميل تجميع هذا الملف المحدد، وعدم السماح بالتغييرات.كم هو غريب!

ومن ثم، اضطررت إلى إلغاء تحميل مشروع اختبار الوحدة ومتابعة تصحيح أخطاء EnC.

كان لدي مشروع قاعدة بيانات في الحل مما أدى إلى إيقاف تحرير مشروع نماذج الويب.

لقد قمت بالنقر فوق "إلغاء التحميل" في مشروع قاعدة البيانات وكل شيء يعمل الآن بشكل جيد.

بالنسبة لـ VS2017، يمكن أن يساعد في إزالة ملف .suo في الحل الخاص بك، وقد نجح الأمر بالنسبة لي.:)

كنت أواجه نفس المشكلة في Visual Studio 2005.التكوين الخاص بي هو 64 بت.كان يعمل بشكل جيد على أحد حلول VS ولكن ليس على الآخر.لقد لاحظت أنا فقط تمكين "تمكين التحرير والمتابعة" للمشروع حيث أردت إجراء تغييرات في وضع التصحيح.لقد تم حل هذا الأمر أخيرًا بالنسبة لي عندما قمت بتحديد "تمكين ومتابعة" لجهازي بدء المشروع أيضًا.

لم تكن هناك تغييرات في التكوين باستثناء التمكين والمتابعة المطلوبة.

يبدو الأمر غير منطقي، ولكن الطريقة الوحيدة كانت تعطيل التحرير والمتابعة من خيارات VS 2017...ثم بدأ AspNet بالتحرير والاستمرار في العمل...

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