سؤال

أعلم أن هذا ليس سؤال برمجة لكنه برمجة أداة سؤال.

في Visual Studio 2008 Team Edition (الإصدار 9.0 مع .NET 3.5 المزود بحزمة الخدمة SP1) عند نسخ ولصق المراجع من CSProj إلى آخر (مع قائمة السياق في عرض "حلول مستكشف")، أحصل على الخطأ التالي:

تم إرجاع خطأ HRESULT E_FAIL من مكالمة إلى مكون COM

هذا قد بدأ فقط يحدث على جهازي. أستطيع أن أجد فقط هذه مقالة حولها، ولا تحتوي على أي حل.

أيه أفكار؟

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

المحلول

Yikes، E_Fail هو خطأ COM الأكثر عام، لأنه يعني حرفيا وظيفة COM عادت. أعتقد أنه بطريقة ما، يحتوي Visual Studio 2008 على كائن COM التالف في مكان ما.

هل حاولت إعادة تثبيت Visual Studio 2008 فقط للحصول عليه لإعادة تسجيل كل TLB's والكائنات؟

نصائح أخرى

هذا هو ضرب # 1 الذي يظهر على جوجل ل VS 2010 paste reference E_FAIL وما شابه ذلك، لذلك اعتقدت أنني سوف أشارك هذا الحل البديل:

لا تستخدم مراجع نسخ / لصق عبر قائمة السياق في Solution Explorer.

في حين أن:

  1. استخدم قائمة السياق لتفريغ المشروع لنسخ المراجع من.
  2. تحرير ملف المشروع (.csproj؛ انها مجرد XML).
  3. ابحث عن المرجع (المراجع) التي تهتم بها ونسخ <Reference> عقدة XML (ق).
  4. تفريغ المشروع لنسخ المرجع إلى.
  5. تحرير ملف المشروع (.csproj)
  6. لصق المرجع الذي تم نسخه في الخطوة السابقة في الموقع المناسب. تحتاج إلى البحث عن <ItemGroup> العقدة التي تحتوي على شيء مثل <Reference Include="mscorlib" />, ، والصق مرجوعك فقط فوقه.
  7. أغلق كل من ملفات .csproj، مما يوفر الهدف المعدل فقط.
  8. تحديث المشروعين عبر حلول حلول مستكشف المستكشف.

يتم نسخ المرجع الخاص بك الآن في المشروع المستهدف.

على ما يبدو، في الحد الأدنى للغاية، هناك مشكلة في المراجع التي تستخدم متغيرات البيئة، كما هو موضح هنا (على الرغم من أنه في حالتي، كنت أمارس مشكلة في المراجع التي لم تستخدم المتغيرات البيئية، وفي Visual Studio 2010 ...)

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