Assembly.LoadFromメソッドを利用してアセンブリを読み込む場合、アセンブリをロードした後、ファイルがロックされ、AssembleクラスにUnLoadとかリリースするメソッドが提供していません。この問題を解決するため、下記のようにAssembly.Loadメソッドを利用しファイルのByte値を読み込む方法で解決できます。 System.Reflection.Assembly.Load(System.IO.File.ReadAllBytes(path)) この方法でロードする対象のアセンブリがさらに参照するアセンブリがある場合、上記のソースコードだけで、参照されているアセンブリを読み込めないエラーが発生します。AppDomainのAssemblyResolveイベントの実装によって、このエラーを回避することができます。 AppDomain.CurrentDomain.AssemblyResolve += CurrentDomain_AssemblyResolve; ..... Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args) { var refAssemblyPath = "..\\..\\bin\\" + args.Name.Substring(0, args.Name.IndexOf(",")) + ".dll"; return Assembly.Load(System.IO.File.ReadAllBytes(refAssemblyPath)); }; あなたのお住まいの地域で最安のブロードバンド選び |