سؤال

أنا أتساءل عما إذا كان هناك طريقة لقفل تماما قانون بلدي في حين أن التصحيح داخل Visual Studio 2008.رمز المستندات قفل تلقائيا عند تشغيل 64 بت التطبيقات التي كنت كثيرا تفضل ؛ ومع ذلك ، لا تفعل أكثر من الترميز صنع الوظائف الإضافية لـ Excel الذي هو 32 بت.والنتيجة هي أنه على الرغم من أنني الهدف 'AnyCPU' ، مقابل المضيف يعرف أنه يعمل في 32 بت العملية ، وبالتالي التعليمات البرمجية المصدر لا تخوض في حين يتم تشغيل التعليمات البرمجية استضافتها في Visual Studio.

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

مرة أخرى, عندما تعمل مع 64 بت التطبيقات لا يحدث هذا -- هو رمز مقفل تماما.أنا كثيرا تفضل الكود أن تكون مؤمن تماما على الأقل زوجين من الأسباب:

  1. أنا يمكن أن قصد ضرب مفتاح أو ما شابه ذلك أثناء التصحيح ، والتي بالتأكيد لا تريد أن تفعل.ومن النادر ، وإنما هو قضية.

  2. العديد من الاختبارات التلقائية محرك واجهة المستخدم عن طريق SendKeys.عندما يخطو من خلال هذا الاختبار باستخدام المصحح ، ومع ذلك ، يمكن أن ننسى في بعض الأحيان أن بعض جوانب إشراك SendKeys ، مما يعني أن ضربات المفاتيح الرياح حتى الحصول على إرسالها إلى Visual Studio IDE بدلا من Excel.

في القضية رقم 2 أعلاه ، الوحدة فشل الاختبار ، بلدي سيئة-ولكن وجود جميع ضربات المفاتيح إرسالها إلى رمز وحدة وتدمير قانون بلدي هو أمر غير مقبول تماما.

هل من أحد لديه أفكار هنا ؟ يمكن للمرء تماما قفل الرمز عند تشغيل استضافتها في Visual Studio حين جمعت مقابل 32 bit CPU ؟

بعض الوظائف ذات الصلة بشأن هذه المسألة ، ولكن أيا منها مباشرة تعالج هذا:

شكرا مقدما على أي مساعدة أو الأفكار...

مايك

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

المحلول

هنا هو أفضل ما يمكن أن تأتي مع.يعمل, ولكن هناك بعض الخطوات التي قد لا تريد أن تأخذ.

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

ومع ذلك ، في VS2k8 ، بشكل افتراضي ، يتم تحديد الملف إلى للقراءة فقط لا يزال يسمح لك لتحرير الملف.عليك أولا إيقاف تشغيل الإعداد "السماح تحرير ملفات للقراءة فقط" في أدوات > خيارات > البيئة > الوثائق.

الثانية تحتاج إلى إضافة المفتاح التالي في التسجيل DWORD و تعيين القيمة الخاصة به إلى 1:

HKCU\Sofware\Microsoft\Visual Studio\9.0\Source Control\UncontrolledInMemoryEditDialogSuppressed  

هذا لا يزال لن تعمل تماما.ما ثم عليك القيام به هو تعيين عنصر تحكم مصدر لهذا المشروع في Visual Source Safe.(<-- هذه هي الخطوة أفترض أنك لن تحب.)

ثم إعادة تشغيل VS2k8.

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

الآن لجعل الملفات للقراءة فقط عند تشغيل التطبيق ، تعيين بعد بناء العملية للقيام بذلك.أن من السهل.

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

نصائح أخرى

هنا هو خدعة من استخدام Visual Studio 2005 (لم يكن لديك فرصة لاختبار تحت Visual Studio 2008 ، ولكن ينبغي العمل):

  • فتح الملف القابل للتنفيذ الجمعية خصائص
  • انتقل إلى التصحيح علامة التبويب
  • التحقق تمكين تصحيح التعليمات البرمجية غير المدارة مربع

قانون الوثائق يجب أن تبقى مغلقة ، حتى عندما توقف هو ضرب أي محاولة لتغيير ينبغي أن تؤدي منبثقة تقول "تغييرات غير مسموح بها عند غير المدارة التصحيح تمكين".

مرحبا - أنا آسف لا أستطيع مساعدتك تماما قفل رمز عكس لدي الرغبة:تماما فتح أثناء التصحيح, لكن يمكنني مساعدتك في المسألة الثانية.

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

أعلم أنه ليس الحل الذي تريد ، ولكن ربما لن يضر لمنع وقضايا أخرى مماثلة.

حظا سعيدا!

آدم

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