【问题标题】:Cannot copy the file with C#无法使用 C# 复制文件
【发布时间】:2013-08-05 04:13:52
【问题描述】:

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

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);
}

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

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

【问题讨论】:

标签: c# io filesystems


【解决方案1】:

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

这里有一个look

【讨论】:

  • 我通过从我的 Visual Studio 项目中排除 Database1.accdb 修复了我的错误。
  • @Victor 检查我是否正确并尝试清理项目并重建
【解决方案2】:

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

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

希望对你有帮助

【讨论】:

    猜你喜欢
    • 2018-08-15
    • 1970-01-01
    • 2019-06-27
    • 2018-08-02
    • 2019-12-15
    • 1970-01-01
    • 2016-07-31
    • 1970-01-01
    • 2016-09-10
    相关资源
    最近更新 更多