質問: SampleDLL.Test(); のような呼び出し方?? Console.WriteLine("RESULT:{0}", result); //DLLが返す値が変わりう る } }
回答: AppDomainのシャドーコピーという方法で、出来そうな気がします。 http://d.hatena.ne.jp/akiramei/20071111/1194786373 ただ、共通のインターフェースを持つDLLが別途必要なので、少し大変だと思います。 端的に説明すると、 AppDomain.CreateDomain で新しいAppDomainを作って、 CreateInstanceAndUnwrap でアセンブリを読み込む感じです。 普段はデフォルトのAppDomainが使われるので、意識することはないと思いますが、 DLL毎にプロセスを分けたい場合や、DLLの再ロードを行いたい場合に使えます。