2017-11-05 11 views
0

データベース(bazarganidb.db)のファイルをドライバdからデバッグfolder.ifにコピーする必要があるアプリケーションをプログラムしました。これを別の場所にコピーしても問題はありませんが、デバッグフォルダーは何も起こりません、ファイルが削除されませんまたは私の間違ってcopy.whats? その私のコード:ファイルをデバッグフォルダにコピー

private void button3_Click(object sender, EventArgs e) 
{ 
    try 
    { 
     string OriginalFile = @"D:\bazarganidb.db"; 
     string FileToReplace = @"E:\BazarganiProj2\BazarganiProj\bin\Debug\bazarganidb.db"; 

     if(File.Exists(FileToReplace)) 
      File.Delete(FileToReplace); 
     File.Copy(OriginalFile, FileToReplace); 
    } 
    catch (Exception k) 
    { 
     Console.WriteLine(k); 
    } 
} 
+0

はあなたがいずれかを取得してください:あなたは、ファイルを上書きする3つの引数で指名コンストラクタを使用したい場合は、既存のファイルを上書きしたい場合は

また、第三引数をtrueに設定する必要があります例外?そのフォルダのプロパティは読み取り専用に設定されていますか? – NoSaidTheCompiler

+0

これを行うことで[あなたが達成したいもの](https://meta.stackexchange.com/questions/66377/)について説明しても助けになります。プロジェクトのデバッグフォルダにファイルをコピーするのは非常に問題です。 –

答えて

0

ハードコードへの悪い習慣のパスで、パスを参照するためにReflectionを使用します。

string FileToReplace = System.IO.Path.Combine(System.IO.Path.GetDirectoryName(
    System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase), "bazarganidb.db"); 

も、そのフォルダにアクセス権をチェックし、ファイルを作成しようとか、あなたが許可ブロックを持っているかどうかを示します。

File.Copy(OriginalFile, FileToReplace,true); 
+0

私はそれを解決しましたが、私の問題を解決しました。私はデバッグフォルダから読み込みを取り除き、あなたの提案にコードを変更しましたが、それは解決しませんでした – nino

+0

プロジェクトのパスはあなたのローカルPCにありますか? (私はローカルネットワーク上にないことを意味します)、スローされている例外は何ですか? – jonathana

+0

そのドライブEIでは例外はありませんが、私のファイルに変更はありません。実行時に私のプロジェクトのデバッグフォルダにファイルをコピーするだけです。 – nino

関連する問題