2

ディレクトリの列挙に関して「etc」の特別な点を知っている人はいますか?

public class Foo
{
    [Test]
    public void Etc()
    {
        var etc = new DirectoryInfo(@"C:\Windows\System32\drivers\etc");
        Assert.True(etc.Exists);

        /* Expected: not <empty> But was:  <empty> */
        Assert.IsNotEmpty(etc.Parent.GetDirectories(etc.Name));
    }
}
4

2 に答える 2

3

コードを64ビットマシンで32ビットプロセスとして実行しています。そして、あなたはファイルシステムリダイレクタの効果を見ています

C:\Windows\system32\drivers\etcリダイレクトされないため(リダイレクトが免除されると文書化されています)、C:\windows\system32\drivers\etc32ビットまたは64ビットプロセスの両方に適用されます。

ただし、にステップアップすると、32ビットプロセスで実行している場合にC:\windows\system32\driversリダイレクトされます。C:\Windows\SysWow64\driversそして、そのディレクトリにはその下にディレクトリがありませんetc

于 2013-03-08T13:50:00.443 に答える
0

うーん...パーミッションの問題かもしれません(おそらく読み取りパーミッション)が、その場合はおそらくエラーが発生します。

Directory.GetDirectories(@"C:\Windows\System32\drivers")メソッド onを使用して表示されるかどうかを確認します。

これがドキュメントです。

于 2013-03-08T13:48:13.560 に答える