سؤال

حسنًا ، أنا في عالم من الألم في الوقت الحالي.

كنا نطور مع VS2008 (VB.NET ، ومعظمهم من WinForms ، وأيضًا ASP.NET و Windows Services) على Win7 X64 ، مع متطلبات محددة (لا يمكننا التخلص منها بعد) ، لاستهداف X86 و Framework 3.5.

لقد قمنا مؤخرًا بالترقية إلى VS2010 ، وسرعان ما أخطأنا في ذلك قضية عدم توافق Resgen.exe هذه. في الأساس ، لا يمكننا تجميع تطبيق WinForms على الإطلاق مع VS2010. لم يعمل أي من الحلول التي اقترحها Microsoft أو غيرها من أجل نفسي أو العضو الآخر في فريقي.

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

لا يُظهر تطبيق اختبار جديد تم إنشاؤه باستخدام VS2008 (تم تجميعه لـ X86 و .NET 3.5) هذا الفشل في التقاط الاستثناءات.

لقد اضطررت إلى اللجوء إلى التطوير على VS2010 على VM Win7 (32 بت) داخل الكمبيوتر الرئيسي في الوقت الحالي ، وهو يعمل ... لكنه بطيء!

أي أفكار للخروج من هذا سيكون موضع تقدير بامتنان !!

تحديث:

حسنًا ، إنه ليس حلاً فعليًا ، ولكن كحل بديل ليس كارثة كاملة ...

بفضل نوح على تعليقه ، مما دفعني إلى استكشاف حلول الظاهرية المختلفة حولها. لقد اكتشفت الآن (ربما آخر شخص هنا!) VirtualBox. ليس فقط هو مائل قليلاً في الاستخدام من لاعب VMware والتجسيد المختلفة لجهاز الكمبيوتر الافتراضي Microsoft/Windows ، كما أنه يحتوي على وضع سلس, ، حيث تظهر التطبيقات التي تعمل على VM كنوافذ منفصلة في المضيف. لذلك لدي الآن ضيف X86 يعمل VS2010 ، وتجميع X86 و Framework 3.5. نظرًا لعدم وجود صراع X64/X86 في الضيف ، لا توجد مشكلة Resgen.exe ، وظهرت Dev Envt الخاصة بي كإطار على سطح المكتب المضيف. لا يزال الأمر أبطأ من تشغيله أصليًا ، لكن يمكنني العيش معه في الوقت الحالي.

لا يزال يقدر أي حلول فعلية (أو فشل ذلك ، إصلاح من Microsoft !!)

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

المحلول

حسنا استسلمت.

كان VirtualBox على ما يرام لفترة من الوقت ، لكن بطء VM كان مزعجًا ، وكان الاضطرار إلى إدارة الأشياء المتحركة بين المضيف والضيف إلى الأبد يقودني إلى الجنون.

لذلك قمت بإعادة بناء الجهاز بأكمله باستخدام Windows 7 x86.

بالاشمئزاز تمامًا من عدم مبالاة Microsoft الواضحة بالمشكلة ، لكنني أعتقد أنني لست أول من أشعر بذلك.

نصائح أخرى

يمكنك فقط جعل Resgen.exe 32-bit بواسطة: 1. CD "Programfiles (x86) ٪ Microsoft Sdks Windows V7.0a bin" 2. Corflags /32bit+ /Force Resgen.exe

احفظ resgen.exe السابق قبل هذا التغيير.

بعد هذا التغيير ، ستحتاج إلى تعديل جميع مشاريعك لإخبار Resgen بالتشغيل في وضع 32Bitaged

  1. إضافة managed32bit إلى مجموعة خاصية في ملف المشروع لأي مشروع يولد الموارد التي تستهدف .NET 3.5-نظرًا لأن خدعة Corflags تؤثر على لتاع resgen.exe على مستوى النظام ، يجب تعيين العقار لجميع المشاريع المتأثرة أيضًا.

  2. أو إذا كان تشغيل msbuild.exe مباشرة ، فمرقه باستخدام مفتاح الخصائص العالمية: '/p: resgentolaring itsitive = managed32bit'

يتم نشر الحل في http://tune up-pc.com/blog/؟p=10790

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