程序更新遇到了问题
最后一步复制替换的时候出现oldFile访问被拒绝,是什么原因? 程序更新
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);
[解决办法]
还有一种可能就是原文件被占用。程序中凡是涉及到文件操作的,都要及时释放。