3

更新されたアセンブリをソース フォルダー A から宛先フォルダー B にコピーする winform アプリを想像してください。単純な DirectoryInfo.GetFiles メソッドを使用してリストビューを埋め、フォルダー A と B のアセンブリのバージョンを比較します。一部のアセンブリが新しい場合は、更新メソッドを開始します。この方法では、コピーする前に、B フォルダー内のすべてのファイルが使用されていないかどうかを試します。

var B = new DirectoryInfo("myBfolder");
foreach (var file in aFolder.GetFiles())
{
    try
    {
        //File not in use
        File.Open(file.FullName, FileMode.Open, FileAccess.ReadWrite, FileShare.None);
    }
    catch (Exception ex)
    {
        //File in use!
    }
}

FileInfo を使用して表示する情報を取得する以前の UpdateListView コードにより、すべてのファイルが使用されます。

FileInfo ロックファイル!これは可能ですか?

誰かがこの問題を回避する方法を提案できますか?

ありがとう、ナンドウ

4

1 に答える 1

5

いいえ、File.Openファイルをロックするのは誰ですか。

それを使用してみてください:

using(var file = File.Open(file.FullName, FileMode.Open, FileAccess.ReadWrite, FileShare.None))
{
   // process here
}
于 2010-08-26T14:31:58.580 に答える