1

我正在尝试为我的应用程序制作一个备份模块,这是我的代码:

try
{
    string newDbName = Application.StartupPath + @"\Database1.accdb";
    MessageBox.Show("The current directory is: " + newDbName);
    File.Copy(backupPicker.FileName, newDbName, true);
    MessageBox.Show("Restaurare efectuata cu succes.", "", MessageBoxButtons.OK, MessageBoxIcon.Information);
} catch (Exception ex)
{
    MessageBox.Show("Nu s-a putut restaura reerva.\nMai multe informatii despre aceasta eroare pot fi gasite in jurnalul de erori.", "Eroare", MessageBoxButtons.OK, MessageBoxIcon.Error);
}

但我的应用程序甚至没有运行!这是我从调试器得到的错误消息:

在此处输入图像描述

但实际上,我的应用程序有权访问该位置。我能做些什么?

4

2 回答 2

2

我相信您在应用程序中使用“Database1.accdb”作为资源,但它是只读的,因为 TFS。关闭VS,删除文件,或者设为只读false,重建项目。它发生在每个人身上很多次。

这里看看

于 2013-08-04T09:32:37.053 回答
2

可能这就是可能发生的事情,我怀疑您的应用程序仍在运行,尚未终止。所以它将访问StarupPath. 或者你会Database1.accdb在其他程序中打开。

要解决此问题,只需从文件夹中删除所有二进制文件binobj然后重新启动 VS。如果这没有帮助,则打开TaskManagerKill all 与该文件相关的可疑进程。

希望这可以帮助

于 2013-08-04T09:39:48.023 回答