日期:2014-05-18  浏览次数:20895 次

C# 子窗体关闭后进程还被主窗体占用,怎样结束?
RT:我在估和一个更新的程序,主窗体和子窗体是相对独立的dll,现在要更新子窗体的dll,但是刚才打开过子窗体,现在关闭了子窗体,我再更新(替换dll),会报错说该dll被别的进程使用着。怎样解决呢?

还有就是,如何我一直没有打开过我要更新的那个dll,则可以顺利更新.


------解决方案--------------------
资源没释放吧
------解决方案--------------------
thread.kill
------解决方案--------------------
妹子,是这样的:每一个 Program 文件,有三行代码:

Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
---------------------
Application.Run(new MainForm());

——更新可以放到 我标注的横线中间来;
而且,程序在 运行时 替换 .dll 只有一个办法:卸载 .dll 程序集:卸载程序及的唯一办法是,写在程序集所在的程序域;—— 这样往往就麻烦很多了!


如果你非要在 运行之后更新,你可以先将下载的文件放到一个文件夹下,下次启动时,再将文件夹的东西 覆盖本地程序集就可以——必须在 我上面的横线代码那里做这件事;