Почему IO.Directory.CreateDirectory успешно работает, а это не так?

Я использую Visual Studio 2008 на Windows Vista Ultimate. Когда я создаю новое консольное приложение и запускаю следующий код через отладчик, я получаю ожидаемый результат -UnauthorizedAccessException выбрасывается и каталог не создается.

Sub Main()
    Dim path = "C:\Windows\zzzz"
    Try
        IO.Directory.CreateDirectory(path)
    Catch ex As Exception
        Console.WriteLine(ex.Message)
    End Try
    Console.WriteLine(IO.Directory.Exists(path).ToString)
    Console.ReadLine()
End Sub

Когда я запускаю этот же фрагмент кода из моего производственного решения,IO.Directory.CreateDirectory() методне бросить исключение,IO.Directory.Exists() возвращает True,и каталог на самом деле не создается на диске.

Существуют ли какие-либо настройки проекта / решения, которые бы изменяли поведение IO.Directory.CreateDirectory () следующим образом?

Примечание: яне запуск Visual Studio в качестве администратора в любом случае.

РЕДАКТИРОВАТЬ: Производственное приложение работает в том же окне, что и тестовое приложение.

РЕДАКТИРОВАТЬ № 2: Производственное приложение использует виртуализацию. Я нажал на «Мой компьютер», переместился в C: \ Windows и нажал «Файлы совместимости» на панели инструментов обозревателя, и я оказался в C: \ Users \ myUser \ AppData \ Local \ VirtualStore \ Windows, где находились мои созданные каталоги.

Единственный нерешенный вопрос - почему производственное приложение виртуализируется, а тестовое консольное приложение выдает исключение?

Ответ: консольное приложение по умолчанию было создано с помощью app.manifest. В производственном приложении, которое является приложением WPF, не было app.manifest. Очевидно, Vista будет использовать виртуализацию, если для исполняемого файла нет app.manifest.

Всем спасибо!

Ответы на вопрос(2)

Ваш ответ на вопрос