这个文件怎样能关闭呢(Assembly.LoadFrom(DLL文件名)

北京的雾霾天 2003-10-17 09:15:05
我用System.Reflection.Assembly mAssembly=Assembly.LoadFrom("Dll文件名称")加载了一个DLL文件,请问这个DLL文件怎样能关闭呢.因为我这样用了之后这个DLL就一直被占用了.我是用的不对吗?怎能关掉或释放这个DLL文件呢?
...全文
82 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
北京的雾霾天 2003-10-24
  • 打赏
  • 举报
回复
这样好像也不行,算了,这么长时间也没有一个较好的说法,结了吧,多谢各位了!!!
honghaozi 2003-10-24
  • 打赏
  • 举报
回复
这样用是没有问题的。问题是mAssembly的生存期有没有结束。
我猜它是个类变量甚至是静态变量,这样在程序退出之前是不会自动释放的。
如果你把定义放在某个方法里,方法退出的时候就会释放的。

一个例子:列出一个程序所有类
void getfile(string filename)
{
Assembly a = Assembly.LoadFrom(filename);
Module[] m = a.GetModules();

foreach (Module mm in m)
{
Type[] types=mm.GetTypes();
foreach (Type type in types)
{
listView1.Items.Add(type.FullName);
}
}
}
北京的雾霾天 2003-10-24
  • 打赏
  • 举报
回复
这个问题能不能解决啊,大家来看看啊
北京的雾霾天 2003-10-24
  • 打赏
  • 举报
回复
我试过了,好像不行,因为我再使用(比如再删除DLL)时会出错说这个文件被使用.
orcale 2003-10-24
  • 打赏
  • 举报
回复
用Gc.Collect()試試看?
北京的雾霾天 2003-10-17
  • 打赏
  • 举报
回复
分不够吗?不够我再加:)

110,499

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧