سؤال

أريد أن أعرف ما إذا كان من الممكن تسجيل مكتبة الكتابة دون استخدام أداة Regasm. هذا هو وضعي ، والذي نأمل أن يشرح لماذا أريد أن أفعل هذا:

أقوم بتطوير مجموعة في .NET التي ستوفر بعض الوظائف الحديثة لتطبيقات VB6 الأقدم. لقد قمت بتسجيل التجميع بنجاح ومكتبة النوع على جهاز التطوير الخاص بي باستخدام Regasm مثل SO:

regasm.exe MyAssembly.dll /tlb /codebase

يقوم الأمر أعلاه بإنشاء مكتبة النوع (myassembly.tlb) ويسجلها وكذلك تسجيل التجميع. أحتاج إلى مكتبة النوع المسجلة حتى أتمكن من الحصول على intellisense في VB6.

مشكلتي في هذه الطريقة هل ليس لدي نفس مستوى التحكم عند إنشاء ملف مكتبة النوع كما أفعل معه tlbexp.exe. على وجه الخصوص ، أحتاج إلى استخدام علامة TLBEXP /NAME حدد الحالة المناسبة من أسماء الممتلكات الخاصة بي (ريجسمز الجزارون لهم). لذا ، إذا استخدمت TLBEXP لإنشاء ملف TLB الخاص بي ، فهل هناك أي طريقة يمكنني تسجيلها بشكل منفصل عن عملية تسجيل التجميع؟

يحرر: إجابة DA_M_N صحيحة للسؤال الذي طرحته. ومع ذلك ، كنت تحت الافتراض الخاطئ بأنه لمجرد أن Regasm يمكن أن يسجل مكتبة من النوع الذي كان من الضروري تسجيل TLB للترتيب في VB6. حتى الآن أقوم بتسجيل التجميع وأشار إلى TLB غير المسجل ، الذي تم إنشاؤه بواسطة TLBEXP مع الأسماء الثابتة.

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

المحلول

استخدم regtlib.exe لتسجيل ملف TLB الذي تم إنشاؤه TLBEXP.

نصائح أخرى

regtlib.exe غير متوفر على منصات Win10. استخدم المناسبة TlbExp.exe كما هو موجود في .NET SDK (على سبيل المثال "%ProgramFiles(x86)%\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.2 Tools\TlbExp.exe" "$(TargetDir)$(TargetFileName)" نرى https://docs.microsoft.com/en-us/dotnet/framework/tools/tlbexp-exe-type-library-exporter).

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