0

bin フォルダーからマップされたドライブに DLL をコピーして移動するスクリプトを作成しています。プロセス中に DLL を登録/登録解除する必要があります。これをすべて行う方法を理解しましたが、落とし穴があります。私が取り組んでいるプログラムは、VB6 COM DLL と VB.NET .NET DLL を利用しています。COM DLL は regsvr32.exe を使用し、.NET DLL は regasm.exe を使用することは理解していますが、移動する DLL に基づいて、プログラムで正しい関数を呼び出すことに関心があります。Powershell で使用している時間を特定する方法はありますか?

4

1 に答える 1

1

電話

[Reflection.Assembly]::LoadFile( `mydll.dll`)

.Net dll でない場合は、BadImageFormatException を発生させる必要があります。

MSDNによると:

「この例外は、ダイナミック リンク ライブラリ (.dll ファイル) または実行可能ファイル (.exe ファイル) のファイル形式が、共通言語ランタイムによって期待される形式に準拠していない場合にスローされます。特に、例外は以下でスローされます。次の条件: ...

アンマネージ ダイナミック リンク ライブラリまたは実行可能ファイル (Windows システム DLL など) を .NET Framework アセンブリであるかのように読み込もうとします。次の例は、Assembly.LoadFile メソッドを使用して Kernel32.dll をロードすることで、これを示しています。」

于 2013-04-25T16:54:15.397 に答える