سؤال

هل حقق أي شخص أي نجاح في تحويل مشروع VS 2008 C ++/CLI (VCPROJ) إلى مشروع VS 2010 (VCXProj) ، مع الحفاظ على .NET 3.5 كإطار مستهدف؟ لم أتمكن من القيام بذلك والحصول على المشروع للبناء بنجاح. يجمع المشروع بشكل جيد في VS2008 AS .NET 3.5 ، وغرامة في VS2010 AS .NET 4.0 ، لكنني غير قادر على استهداف .NET 3.5 في عام 2010. لا يبدو أن IDE يوفر خيارًا له ، وتعديل ملف VCXProj بإضافة

<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>

يسبب فشل التجميع مع خطأ التذبذب:

Error   1   error C1001: An internal error has occurred in the compiler.

بالنسبة الى هذا الرابط, ، يبدو أن هناك بعض الاختلافات في المجمعين المستخدمة بين VS2008 و 2010 ، ولكن تم تحرير ملف المشروع يدويًا كحل. هل لدى أي شخص أي فكرة عن هذا؟

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

المحلول

شكرا على النصيحة على TargetFrameworkversion. لقد نجح الأمر بالنسبة لي ، لكن هذا للأسف لا يساعدك.

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

نصائح أخرى

عندما تستهدف .NET Framework v3.5 والبناء باستخدام VS2010 ، يمكنك أحيانًا تشغيل خطأ الرابط C1001 بسبب إضافة VS2010 تلقائيًا إلى System.Core عند التجميع. هذا ليس واضحًا ولن يظهر في مراجعك بل يتم ذلك أثناء وقت الترجم. يمكنك إخبار VS بعدم إضافة التجميعات عن طريق إضافة هذا العنصر في مجموعة Globals الخاصة بك:

<AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>

واو ، الرد على تقرير علة بريكنر مدمر - استهداف 3.5 غير مدعوم ولن يتم إصلاحه!

تجربتي الغريبة مع الحوادث هي أنها تم إصلاحها عن طريق تشغيل الرؤوس المسبقة ، والأكثر غرابة لأن STDAFX.H كانت فارغة لذلك لا أعرف ماذا يفعلون.

قم بتثبيت هذا الإصلاح الساخن وربما اختفت مشاكلك: http://support.microsoft.com/kb/976656

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