regasm.exeなしでタイプライブラリを登録する方法
-
24-09-2019 - |
質問
使用せずにタイプライブラリを登録できるかどうかを知りたい レギズムツール. 。これが私の状況です。
.NETでアセンブリを開発しており、古いVB6アプリケーションに最新の機能を提供します。 Regasmを使用して、開発マシンにアセンブリとタイプライブラリを正常に登録しました。
regasm.exe MyAssembly.dll /tlb /codebase
上記のコマンドは、タイプライブラリ(myAssembly.tlb)を生成し、アセンブリを登録するだけでなく登録します。 VB6でIntellisenseを使用できるように、登録されたタイプライブラリが必要です。
この方法に関する私の問題 タイプライブラリファイルを生成するときに同じレベルの制御がないということです tlbexp.exe. 。特に、TLBEXPの /名前フラグを使用する必要があります 適切なケースを指定します 私の財産名の(レギズムはそれらを屠殺します)。 TLBEXPを使用してTLBファイルを生成した場合、アセンブリ登録プロセスとは別に登録できる方法はありますか?
編集: DA_M_Nの答えは、私が尋ねた質問に対して正しいです。しかし、私は、Regasmがタイプライブラリを登録できるという理由だけで、TLBをVB6で参照するために登録する必要があるという誤った仮定の下にありました。そのため、今のところはアセンブリを登録し、未登録のTLBEXPで生成されたTLBを固定名で参照しています。
解決
regtlib.exeを使用して、TLBEXP生成されたTLBファイルを登録します。
他のヒント
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).