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);
私が試してみて、デバッグおよびFile.Delete
方法の後にすることでMessageBox
配置した、彼らは私が彼らはそれ以上実行されているからメソッドを妨げていることを信じるようにつながるかを示したことがありません。
これは私の方法がまったく続かないようにする何らかの理由がありますか?
FWIWでは、 'File.Copy(sourceFile、destFile、true)'はファイルが存在する場合はすでに上書きされているので、 'File.Delete'を行う必要はありません。 –
'if(File.Exists(destfile)) 'の必要はありません。単に 'File.Delete(destFile)'を呼び出してください。ファイルが存在する場合は削除されます。存在しない場合、 'File.Delete'は暗黙的に失敗します。しかし、なぜあなたは 'File.Copy'の呼び出しが既存のファイルをとにかく上書きするときに、最初にファイルを削除していますか? –
何をデバッグしようとしていますか? 'File.Copy'は動作しませんか?おそらく、デバッガでプログラムを実行する必要があります。 'File.Copy'にブレークポイントを設定します。 –