日期:2014-05-17  浏览次数:20937 次

程序更新遇到了问题

Assembly oldfile = Assembly.LoadFile(oldFile);
Version oldVer = oldfile.GetName().Version;
Assembly newfile = Assembly.LoadFile(newFile);
Version newVer = newfile.GetName().Version;
if (newVer != oldVer)
{
    Process[] myPro = Process.GetProcesses();
    foreach (Process now in myPro)
    {
         if (now.ProcessName == Path.GetFileName(oldFile)) now.Kill();
    }
    File.Delete(oldFile);
}
File.Copy(newFile, oldFile, true);
最后一步复制替换的时候出现oldFile访问被拒绝,是什么原因?
程序更新

------解决方案--------------------
还有一种可能就是原文件被占用。程序中凡是涉及到文件操作的,都要及时释放。