2

How to: Copy, Delete, and Move Files and Folders (C# Programming Guide)からこのコードを直接取得しました。

string sourceDir = currDir + "\\" + "Trends";
string targetDir = currDir + "\\" + reportDir + "\\" + "Trends";
if (Directory.Exists(sourceDir))
{
    string[] files = Directory.GetFiles(sourceDir);

    foreach (string file in files)
    {
        string fileName = Path.GetFileName(file);
        string targetFile = Path.Combine(targetDir, fileName);
        File.Copy(file, targetFile, true);
    }
}

ただし、このコードを実行すると、sourceDir 内のすべてのファイルに対して、既に使用されているためアクセスできないというエラーがスローされます。コードを終了すると、他のプロセスがこれらのファイルを使用していないことが明らかなので、問題の原因はこのコード ブロックにあるはずです。これに「使用」を使用する方法はありますか?

アドバイスをいただければ幸いです。

よろしく。

4

1 に答える 1

0

すべての提案に感謝します-それらは私を答えに導きました。Web ページの Render メソッドをオーバーライドして、テーブルの 1 つを .html ファイルとして保存しています。このテーブルを表示するには、sourceDir にファイルが必要です。ただし、テーブルはすぐにはレンダリングされないため、Render への最初の呼び出しで、これらのファイルは Web アプリによって合法的に使用されます。私が投稿したコードは問題なく動作します。

于 2012-08-28T18:05:48.190 に答える