日期:2014-05-19  浏览次数:21096 次

升级程序的一个问题:因为该文件正由另一进程使用
我现在做了一个在线升级的程序。
更新的文件都是从局网共享里Copy过来的。
当启动客户端Client.exe时,程序发现有需要更新的程序,就退出Client.exe,
然后启动Update.exe程序,
Update.exe的主要功能就是将共享文件   File.Copy()过来。
但是现在遇到了一个问题,在更新的30多个文件当中,
比如:dll,xml,jpg等,唯有某一个工程的dll不能Copy回来,该工程是Entity层。
报错:
未处理的“System.IO.IOException”类型的异常出现在   mscorlib.dll   中。

其他信息:   该进程无法访问文件“D:\Projects\JRD\JRD.Client\bin\Debug\JRD.Entity.dll”,因为该文件正由另一进程使用。

---------------



------解决方案--------------------
Client.exe退出后,是不是还有线程没有全部退出,Update.exe拷贝前,Client.exe必须完全退出,可以将Client.exe文件修改为Client1.exe来判断。

立即成为编程经验丰富的程序员不是梦,详见:http://www.psec.net.cn
------解决方案--------------------
我估计99.99999%的可能是
Update.exe调用了 JRD.Entity.dll