ما الذي يسبب فشل Visual Studio في تحميل التجميع بشكل غير صحيح؟

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

سؤال

لقد كنت سعيدًا بالبرمجة باستخدام حل مناسب الحجم (ما يزيد قليلاً عن 13 ألف LOC، و5 مشاريع) والذي يستخدم Linq إلى Sql للوصول إلى البيانات.فجأة قمت بإجراء بناء عادي وتلقيت رسالة حلوة غامضة:

خطأ 1 فشل البناء بسبب أخطاء التحقق من الصحة في C:\xxx\xxx.dbml.افتح الملف وقم بحل المشكلات الموجودة في قائمة الأخطاء، ثم حاول إعادة إنشاء المشروع.ج:\xxx\xxx.dbml

لم أتطرق إلى طبقة الوصول إلى البيانات الخاصة بي لأسابيع ولم يتم إجراء أي تعديلات على ملف DBML.لقد جربت الكثير من الحيل المتهورة مثل إعادة إنشاء ملف التخطيط وعمل نسخ وإعادة إضافة الملفات الموجودة مرة أخرى إلى المشروع بعد إعادة تشغيل Visual Studio (في حالة حدوث بعض الفساد على مستوى الملف)؛كل ذلك دون جدوى.

لقد نسيت ارتداء تعويذة مهارات Visual Studio +5، لذلك بدأت البحث وكانت الإجابة الوحيدة التي وجدتها منطقية هي إعادة تعيين الحزم الخاصة بي لأن Visual Studio لم يكن يقوم بتحميل التجميع بشكل صحيح.بعد تشغيل "devenv.exe /resetskippkgs" لقد تمكنت، في الواقع، من إضافة ملف dbml مرة أخرى إلى مشروع DAL وإعادة بناء الحل.

أنا سعيد لأنه تم إصلاح الأمر، ولكني أفضل أيضًا الحصول على فهم أعمق من هذه التجربة. هل يعرف أحد كيف أو لماذا يحدث هذا في Visual Studio 2008؟

تحرير جديد:30/10/2008 لم يكن هذا شيئًا حدث لي للتو.كتب ريتش ستراهل مؤخرًا على "مدونته على الويب" عن نفس التجربة.فهو يربط بآخر مدونة بنفس المشكلة واستخدمت نفس الإجراء.

لقد واجهت هذه المشكلة عدة مرات منذ هذا المنشور الأصلي أيضًا، مما جعلني أعتقد أن هذه ليست مشكلة عشوائية.إذا وجد أي شخص الإجابة النهائية يرجى نشرها.

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

المحلول

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

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

نصائح أخرى

بعد تثبيت Phalanger لـ Visual Studio 2008، حاولت إنشاء تطبيق PHP WinForms جديد.فشل إنشاء المشروع مع ظهور رسالة خطأ مشابهة، تشير إلى تعذر تحميل ملف DLL المطلوب (فشل تحميل الملف أو التجميع...).يؤدي تشغيل الأمر devenv.exe /resetskippkgs في Visual Studio 2008 Command Promtp إلى حل المشكلة على الفور.

شكرا للمعلومة.

لقد تلقيت هذا الخطأ أيضًا عند محاولة تجميع طبقة الوصول إلى البيانات في الحل الثاني (المثبت).ما أفعله هو أنني أقوم بتشغيل Custom Tool على ملف dbml، وهذا ما يفعله.

لا يوجد بالفعل أي أخطاء في ملف dbml تحتاج إلى تصحيح.

نظريتي في هذا هي أن Visual Studio يقوم بتخزين النسخة المترجمة من ملف dbml مؤقتًا، وأن ذاكرة التخزين المؤقت غير صالحة للحلول الأخرى.أعتقد أن تشغيل /resetskippkgs يفعل نفس الشيء مثل إعادة ترجمة ملف dbml.

على أية حال، لا يوجد حل لهذا حتى الآن؟

واجهت نفس المشكلة في VS 2010 (فشل الإنشاء بسبب أخطاء التحقق من الصحة في ملف dbml).لقد قمت بحل هذه المشكلة من خلال عرض عرض المصمم لملف dbml وسحب الجدول قليلاً إلى موقع مختلف بحيث يتم تحديث ملفات تخطيط dbml وما إلى ذلك.يبدو أن هذا يفي بالغرض، لكنه كان مشكلة غريبة بعض الشيء.

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