为了将问题描述清楚,我们先来看一个例子。在这个例子中,WinForm上有一个按钮,当用户点击这个按钮后,就会装载一个已经存在的Assembly,并且在界面的Label控件上显示出这个Assembly的FullName。对Reflection稍微熟悉一点的朋友都知道,这是非常简单的事情,只需要用Assembly.LoadFile方法获得Assembly,然后用FullName属性来显示即可,比如下面的代码:
private void button1_Click(object sender, EventArgs e) { Assembly assembly = Assembly.LoadFile(@"C:\testlib.dll"); label1.Text = assembly.FullName; }
在完成上述的修改后,我们的程序也同样能够正确地显示assembly的FullName,而且,在显示完assembly信息后,程序会主动卸载新建的AppDomain,以防止testlib.dll的资源独占,影响其它程序的运行。
以上就是AppDomain与Assembly的动态加载与卸载代码详解的详本文来源gaodai#ma#com搞*代#码9网#细内容,更多请关注搞代码gaodaima其它相关文章!