因此,我試圖從我的 Thread.GetDomain().GetAssemblies()
區域中刪除程序集。從應用程序域中刪除程序集
到目前爲止,我已經在網上看了幾個解釋,但一直沒能弄清楚。
這是我到目前爲止已經得到
AppDomain tempD = Thread.GetDomain();
tempD.DoCallBack(LoaderCallback);
AppDomain.Unload(tempD);
System.IO.File.Delete(assemblyName);
private static void LoaderCallback()
{
Assembly.ReflectionOnlyLoad("myAssembly");
//byte[] raw = System.IO.File.ReadAllBytes(test);
//Assembly yacsi = Assembly.Load(raw);
//((IScript)yacsi.CreateInstance("Script")).Go();
}
我身邊這個概念迄今播放,但我努力使連接,因爲Thread.GetDomain();
不包含Unload
命令
此外,我無法嘗試這部分((IScript)yacsi.CreateInstance("Script")).Go()
,因爲我不知道什麼程序集IScript是,也不是什麼放置在「腳本」文本部分
任何想法,將不勝感激
沒有線程域這樣的東西。從MSDN:*無法卸載單個程序集而不卸載所有包含它的應用程序域。使用AppDomain中的Unload方法卸載應用程序域。有關詳細信息,請參閱卸載應用程序域。(http://msdn.microsoft.com/en-us/library/c5b8a8f9(v = vs80).aspx)* –