2016-04-25 29 views
0

我试图检查Company是否存在Image。如果确实存在,我想删除现有的Image并将其替换为新的。去做这个;File.Delete防止继续的方法

Application.Current.Dispatcher.InvokeAsync(new Action(() => 
{ 
    if (File.Exists(destFile)) 
    { 
     File.Delete(destFile); 
    } 

    File.Copy(sourceFile, destFile, true); 

}), DispatcherPriority.ContextIdle); 

我已经放在MessageBox在尝试和调试和File.Delete方法之后,他们从来没有表现出这使我相信他们阻止进一步运行任何方法。

是否有任何理由阻止我的方法继续?

+1

FWIW,'File.Copy(sourceFile,destFile,true)'已经覆盖文件是否存在,所以你不需要执行'File.Delete'。 –

+0

不需要'if(File.Exists(destfile))'。只需调用'File.Delete(destFile)'。如果文件存在,它将被删除。如果它不存在,'File.Delete'默默地失败。但是为什么你首先要删除这个文件?当调用File.Copy'会覆盖现有的文件吗? –

+0

你想调试什么? 'File.Copy'不工作?也许你应该在调试器中运行你的程序。在File.Copy中设置一个断点。 –

回答

0

检查图像文件或其存在的文件夹是否未被使用。 尝试清理然后生成,然后运行您的项目。

+0

“希望”不是一个非常有效的开发实践。 –