dll を変更するときは、システムがメモリに読み込まれるディレクトリに配置する必要があります。問題は、変更するたびにシステムを閉じ、dll を新しいものに置き換えて、システムを起動する必要があることです。所要時間は約15~20分と非常に長いです。
これを回避する方法を誰か教えてもらえますか?
dll を変更するときは、システムがメモリに読み込まれるディレクトリに配置する必要があります。問題は、変更するたびにシステムを閉じ、dll を新しいものに置き換えて、システムを起動する必要があることです。所要時間は約15~20分と非常に長いです。
これを回避する方法を誰か教えてもらえますか?
DLL のバージョンをすばやく切り替えたい場合は、DLL を実行可能ファイルと同じディレクトリに配置するか、[プロジェクトの設定] -> [構成プロパティ] -> [デバッグ] -> [環境] で DLL を切り替えるディレクトリへのパスを指定します。そうすれば、Windows システム ディレクトリをいじる必要はありません。
ただし、マイクロソフトは次のように述べています。
同じモジュール名の DLL が既にメモリにロードされている場合、システムは、ロードされた DLL を解決する前に、それがどのディレクトリにあるかに関係なく、リダイレクトとマニフェストのみをチェックします。システムは DLL を検索しません。
AlwaysUnloadDLLが機能するかどうかを試すことができます。