سؤال

يمكنني الحصول على الخطأ التالي عند تجميع مشروع BOO الذي يستخدم Interop:

giveacodicetagpre.

أفضل الزائد للطريقة "microsoft.office.interop.excel.shapes.addtextbox (microsoft.office.core.msotextoration، واحد، واحد، واحد، واحد) 'غير متوافق مع قائمة الوساطة"(microsoft.office.core.msotextoration، واحد، واحد، واحد، واحد) ".(BCE0017)

كما ترى التوقيعات هي نفسها، يبدو أن المشكلة تعترف Msotextorientation.

قمت بتثبيت PIA لعام 2010، ويمكن إضافة مرجع إلى مكتبة كائن Microsoft Office 14.0 "، ويمكن استيراد مساحة الاسم Microsoft.Office.Core منه.يقع فقط بعيدا عند توقيع الطريقة.

أنا أستخدم إصدار BOO مترجم 0.9.1.3287، كمضيف في Sharpdeveld 3.2.1.

أي أفكار؟

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

المحلول

حسنا،

اتضح أن هناك طريقتان لجلب مساحة الاسم Microsoft.Office.Core في المشروع:

  1. استيراد "مكتبة كائنات Microsoft Office 14.0" من COM (تظهر باسم "مكتب" في المراجع الخاصة بك)
  2. استيراد "مكتب" من GAC (يظهر ك "مكتب" في المراجع الخاصة بك)
  3. لا أعرف لماذا يتم سردها على أنها مجرد "مكتب" في قائمة إضافة GAC بدلا من "Microsoft.Office.Core".لهذا السبب اشتقت إليه وانتهى الأمر بالنظر إلى كوم بدلا من ذلك، ورؤية مساحة الاسم المستوردة بشكل جيد اعتقدت أنه كان كل شيء على ما يرام ...

    لا أعرف ما يكفي حول كيفية التعامل مع مساحات الأسماء المتطابقة من التجميعات المختلفة، ولكنها احتمال أن تكون الأنواع التي يتم وضع علامة عليها كما لم تكن متوافقة هي مجرد مشكلة BOO / Sharpdeveldأتوقع الكثير من الناس أن يكون لديهم هذه المشكلة هو حدث ذلك مع Visual Studio / C # ...

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