Tlbimp.exe (مستورد مكتبة الأنواع)

يقوم مستورد مكتبة الأنواع بتحويل ملفات تعريف الأنواع التي تم العثور عليها داخل مكتبة أنواع COM في ملفات تعريف المتكافئة في تجميع وقت تشغيل اللغة العامة, و إن الإخراج لـ Tlbimp.exe عبارة عن ملف ثنائي (تجميع) يحتوي على بيانات التعريف لوقت التشغيل للأنواع المعرفة في مكتبة الأنواع الأصلية حيث يمكنك فحص هذه الملفات مع الأدوات مثل Ildasm.exe.

يتم تلقائياً تثبيت مُصدّر مكتبة الأنواع مع ‏‫Visual Studio, و لتشغيل الأداة استخدم موجه أوامر Visual Studio.. في موجه الأوامر، اكتب ما يلي:

tlbimp tlbFile [options]

المعلمات

الوسيطة

الوصف

tlbFile

اسم أي ملف يحتوي على مكتبة أنواع COM.

الخيار

الوصف

/asmversion:versionNumber

يقوم بتحديد رقم الإصدار للتجميع حتى يتم إنتاجه, و يقوم بتحديد versionNumber في التنسيق major.minor.build.revision.

delaysign/

يقوم بتحديد Tlbimp.exe لتوقيع التجميع الناتج باسم واضح باستخدام التوقيع المؤجل حيث يجب عليك تحديد هذا الخيار مع /keycontainer: أو /keyfile: أو /publickey: الخيار. لمزيد من المعلومات حول عملية التوقيع المؤجل، راجع تأخير توقيع تجميع .

/help

يقوم بعرض بناء جملة الأمر والخيارات للأداة.

/keycontainer:containername

يقوم بتوقيع التجميع الناتج باسم قوي باستخدام زوج المفاتيح العامة/الخاصة في حاوية المفاتيح المحددة بواسطة containername.

/keyfile:اسم الملف

يقوم بتوقيع التجميع الناتج باسم قوي باستخدام زوج المفاتيح العامة/الخاصة رسمياً الخاصة بالناشر التي تم العثور عليها في اسم الملف.

/مساحة الاسم:مساحة الاسم

يقوم بتحديد مساحة الاسم لإنتاج التجميع.

/noclassmembers

يقوم بمنع Tlbimp.exe من إضافة الأعضاء إلى الفئات و تجنب هذا محتمل TypeLoadException.

/nologo

يقوم بمنع عرض شعار بدء التشغيل للـ Microsoft.

/out:اسم الملف

يقوم بتحديد اسم لملف الإخراج و التجميع و مساحة الاسم لكتابة ملفات تعريف بيانات التعريف, و إذا قامت مكتبة الأنواع بتحديد السمة المخصصة للغة تعريف الواجهة (IDL) التي تتحكم بوضوح في مساحة الاسم الخاصة بالتجميع فإن الخيار /out ليس لديه أي تأثير على مساحة الاسم الخاصة بالتجميع, أما إذا لم تقم بتحديد هذا الخيار فإن Tlbimp.exe يقوم بكتابة بيانات التعريف لملف يحمل نفس الاسم مثل مكتبة الأنواع الفعلية المعرفة داخل ملف الإدخال و تعين ملحق .dll, و هكذا إذا كان اسم ملف الإخراج نفس اسم ملف الإدخال فإن الأداة تقوم بإنشاء خطأ لمنع الكتابة فوق مكتبة الأنواع.

/primary

يقوم بإنتاج تجميع توافق أساسي لمكتبة الأنواع المحددة حيث يتم تحميل المعلومات إلى التجميع الذي يشير إلى الناشر لمكتبة الأنواع التي قامت بإنتاج التجميع بواسطة تحديد تجميع توافق أساسي لتمييز تجميع الناشر من أية تجميعات أخرى تم إنشاؤها من مكتبة الأنواع باستخدام Tlbimp.exe, و هكذا يجب عليك فقط استخدام الخيار /primary إذا كنت الناشر لمكتبة الأنواع التي تقوم باستيرادها مع Tlbimp.exe, فلاحظ أنه يجب عليك توقيع تجميع توافق أساسي بـ اسم قوي. لمزيد من المعلومات, راجع تجميعات توافق أساسية.

/publickey:اسم الملف

يقوم بتحديد الملف الذي يحتوي على المفتاح العام حتى يتم استخدامه لتوقيع التجميع الناتج, و إذا قمت بتحديد /keyfile: أو الخيار /keycontainer: بدلاً من /publickey: فإن Tlbimp.exe يقوم بإنشاء المفتاح العام من زوج المفاتيح العامة/الخاصة المتوفرة مع /keyfile: أو /keycontainer: و يقوم الخيار /publickey: بدعم مفتاح الاختبار و تأخير سيناريو التوقيع حيث إن الملف موجود في التنسيق الذي تم إنشاؤها بواسطة Sn.exe. لمزيد من المعلومات، راجع الخيار -p لـ Sn.exe في أداة الاسم المميز (Sn.exe).

/reference:اسم الملف

يقوم بتحديد ملف التجميع حتى يتم استخدامه لإعادة حل مراجع الأنواع المعرفة خارج مكتبة الأنواع الحالية, و إذا لم تقم بتحديد الخيار /reference فإن Tlbimp.exe يقوم تلقائياً و بشكل متكرر باستيراد أية مكتبة أنواع خارجية حيث يتم استيراد المراجع, أما إذا قمت بتحديد الخيار /reference فإن الأداة تحاول حل الأنواع الخارجية في التجميعات المشار إليها قبل استيراد مكتبات الأنواع الأخرى.

هدوء

يقوم بمنع عرض رسائل النجاح.

/strictref

لا يتم استيراد مكتبة الأنواع إذا لم تتمكن الأداة من حل كافة المراجع داخل التجميع الحالي إما التجميعات المحددة مع الخيار /reference أو تجميعات التوافق الأساسية (PIAs) المسجلة.

/strictref:nopia

نفس /strictref لكنه يتجاهل PIAs.

/sysarray

يقوم بتحديد الأداة لاستيراد نمط COM SafeArray كـالنوع المدار فئة النظام.Array.

/tlbreference:اسم الملف

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

لاحظ أن هذا الخيار لن يقوم بتحميل بعض التنسيقات القديمة لمكتبة الأنواع, و مع ذلك لا يزال بإمكانك تحميل تنسيقات مكتبة الأنواع القديمة ضمنيًا خلال السجل أو الدليل الحالي.

/transform:transformName

تحويل بيانات التعريف كما هو محدد بواسطة المعلمة transformName.

قم بتحديد dispret للمعلمة transformName لتحويل المعلمات [out, retval] للأساليب على واجهات الإرساء فقط (dispinterfaces) إلى قيم الإرجاع.

لمزيد من المعلومات حول هذا الخيار، راجع الأمثلة لاحقًا في هذا موضوع.

/unsafe

يقوم بإنتاج الواجهات دون التحقق من أمان .NET Framework. استدعاء أسلوب يتعرض لها بهذه الطريقة قد يشكل خطراً على الأمان حيث يجب عليك عدم استخدام هذا الخيار إلا إذا كنت على علم بمخاطر تعريض تعليمات برمجية مماثلة.

/verbose

يقوم بتحديد الوضع verbose و يعرض المعلومات الإضافية حول مكتبة الأنواع المستوردة.

/?

يقوم بعرض بناء جملة الأمر والخيارات للأداة.

ملاحظةملاحظة

إن خيارات سطر الأوامر لـ Tlbimp.exe لا تتحسس من حالة الأحرف كما يمكن أن تتوفر بأي ترتيب,وهكذا أنت بحاجة فقط لتحديد ما يكفي من الخيار لتعريفه بشكل فريدو لذلك، فإن /n يكافئ /nologo و /ou:outfile.dll يكافئ /out:outfile.dll.

ملاحظات

بقوم Tlbimp.exe بإجراء التحويلات على مكتبة الأنواع بأكملها في وقت واحد, و لا يمكنك استخدام الأداة لإنشاء معلومات النوع لمجموعة فرعية من الأنواع المعرفة ضمن مكتبة أنواع مفردة.

غالباً تعتبر مفيدة أو ضرورية لتتمكن من تعيين أسماء قوية إلى التجميعات, و لذلك يتضمن Tlbimp.exe الخيارات لتزويد المعلومات الضرورية لإنشاء تجميعات مسماة بشدة, و كلا الخيارات /keyfile: و /keycontainer: تقوم بتوقيع التجميعات بأسماء قوية, و لذلك يكون توفير أحد هذه الخيارات في كل مرة منطقياً.

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

أمثلة

يقوم الأمر التالي بإنشاء تجميع يحمل نفس اسم مكتبة الأنواع التي تم العثور عليها في myTest.tlb و مع الملحق .dll.

tlbimp myTest.tlb 

يقوم الأمر التالي بإنشاء تجميع باسم myTest.dll.

tlbimp  myTest.tlb  /out:myTest.dll

يقوم الأمر التالي بإنشاء تجميع يحمل نفس اسم مكتبة الأنواع التي تم تحديدها بواسطة MyModule.dll\1 و مع الملحق .dll. إن MyModule.dll\1 يجب أن يكون موجوداً في الدليل الحالي.

tlbimp MyModule.dll\1

يقوم الأمر التالي بإنشاء تجميع باسم myTestLib.dll لمكتبة الأنواع TestLib.dll. يقوم الخيار /transform:dispret بتحويل أية معلمات [out, retval] للأساليب على dispinterfaces في مكتبة الأنواع إلى قيم الإرجاع في المكتبة المدارة.

tlbimp TestLib.dll /transform:dispret /out:myTestLib.dll

مكتبة الأنواع TestLib.dll في المثال السابق تتضمن أسلوب dispinterface باسم SomeMethod الذي يقوم بإرجاع قيمة فارغة و لديه معلمة [out, retval]. إن التعليمات البرمجية التالية عبارة عن توقيع أسلوب مكتبة أنواع الإدخال لـ SomeMethod في TestLib.dll.

void SomeMethod([out, retval] VARIANT_BOOL*);

تحديد الخيار /transform:dispret يؤدي Tlbimp.exe ليحويل المعلمة [out, retval] لـ SomeMethod إلى قيمة الإرجاع bool. ما يلي عبارة عن توقيع الأسلوب الذي ينتجه Tlbimp.exe لـ SomeMethod في المكتبة المدارة myTestLib.dll عندما يتم تحديد الخيار /transform:dispret.

bool SomeMethod();

إذا قمت باستخدام Tlbimp.exe لإنتاج مكتبة مدارة لـ TestLib.dll دون تعيين /transform:dispret فإن الأداة تنتج توقيع الأسلوب التالي لـ SomeMethod في المكتبة المدارة myTestLib.dll.

void SomeMethod(out bool x);

راجع أيضًا:

المرجع

Tlbexp.exe (مُصدّر مكتبة الأنواع)

Ildasm.exe (المفكك MSIL)

Sn.exe (أداة الاسم القوي)

موجه أوامر Visual Studio.

المبادئ

استيراد مكتبة نوع كـ تجميع

التجميعات المسماة قوية

سمات استيراد مكتبة النوع في التجميعات إمكانية التشغيل المتداخل

موارد أخرى

أدوات .NET Framework

مكتبة النوع إلى ملخص تحويل التجميع