リフレクションを使用してアセンブリを取得すると、アセンブリを検索してキャッシュします。アセンブラを見つけられなかった場合、正しい場所に追加してもアセンブリを見つけることができないため、これを伝えることができます。アセンブリを見つけてそれを取り除くと、見つかってキャッシュされたアセンブリが引き続き使用されます。.NETのリフレクションキャッシュをクリアするにはどうすればよいですか?
私はこの問題に持っているだけではないよ知っている:Clear .Net Reflection cache
私はアセンブリを取得するために使用しているコードは次のようである - そして私は、このコールするたびに(自分自身をキャッシュしない)します。
// Try to get the assembly referenced.
Assembly reflectedAssembly;
try
{
reflectedAssembly = Assembly.Load(assembly);
}
catch (FileNotFoundException)
{
errorMessage = string.Format("Could not find assembly '{0}'", assembly);
result = null;
return false;
}
私が知りたいことは、プロセスを再起動せずにリフレクションキャッシュをクリアする方法がある場合です。どんな助けでも大歓迎です。
ありがとうございます!
'Assembly.LoadFrom'は多分使用しますか? –
Assembly.Loadに何を渡していますか?文字列?バイト配列? AssemblyNameインスタンス? – Fernando
@フェルナンド - 「ClassLibrary1、Version = 1.0.0.0、Culture = Neutral、PublicKeyToken = d48aa85d4ceaf047」 – zimdanen