0

同僚が VB6 プロジェクトに含めるために、.Net で .dll を作成しました。何度も頭を悩ませた後、最終的に VB6 プロジェクトから参照される .dll を取得し、オブジェクトのインスタンスを作成することができました。

問題は、私の .dll が別の .dll (サードパーティ) を参照していることです。include.exe ファイルを生成するときに、前提条件にするのではなく、参照された .dll を選択できることを私は知っています。ただし、.dll ファイルの作成時には、同じ機能は利用できません。

彼のVB6では、サードパーティの.dllにアクセスできないと述べています。

サード パーティの .dll を .dll に含めるにはどうすればよいですか? それとも、同僚が私のものと同様にサードパーティの .dll を参照する方が賢明でしょうか??

前もって感謝します。

4

2 に答える 2

3

参照された DLL を別の DLL に (確実に) 埋め込むことはできません。それらは両方とも、作成者が推奨するように、前提条件と登録/セットアップを使用してターゲット マシンにコピーする必要があります。

于 2012-05-08T15:09:17.780 に答える
1

VB6から.NETDLLを参照するには、適切な.NETFrameworkバージョンから「regasm」コマンドを実行する必要があります。また、「/ tlb」スイッチを使用して、タイプライブラリ(.tlbファイル)を出力することもできます。

tlbファイルを取得したら、VB6IDEから[プロジェクト]->[参照]を選択し、[参照]をクリックしてtlbを選択します。.NETライブラリ内のクラスの早期バインドインスタンス化を使用できるようになりました。

.NET DLLは別のDLLを使用するため、.NETDLLを参照するEXEからアクセスできることを確認する必要があります。これは、EXEが起動するのと同じパスにサードパーティのDLLを展開することによって行われます。または、サードパーティのDLLが.NETであり、厳密に名前が付けられている場合は、グローバルアセンブリキャッシュ(GAC)に追加することもできます。

于 2012-05-09T03:42:33.170 に答える