2016-05-16 11 views
1

AppDomain.Unloadを実行した後、私のDLLがまだプログラムのメモリに残っているのを理解できません。間違ったことをすることはできますか?私はappdomainをアンロードしてもDLLがアンロードされません

AppDomain appDomain = AppDomain.CreateDomain("MyAuthDomain"); 
appDomain.DoCallBack(load_Auth); 

var isLogin = (bool)appDomain.GetData("IsLogin"); 

AppDomain.Unload(appDomain); 

private static void load_Auth() 
{ 
    var form = new Compiler(File.ReadAllBytes(Environment.CurrentDirectory + @"\form.dll"), "form"); 
    form.InvokeMember("ShowDialog"); 

    AppDomain.CurrentDomain.SetData("IsLogin", (bool)form.GetField("IsLogin")); 
    form.Unload(); 
} 

P.S. どのようにDLLがメモリに残っていることを理解していますか? NETUnpackは教えてくれます。

答えて

1

これは私

AppDomain.Unload(appDomain); 

//GC 
GC.Collect(); 
GC.WaitForPendingFinalizers(); 
GC.Collect(); 
を支援
関連する問題