Estoy ejecutando Visual Studio 2008 en una caja Vista Ultimate. Cuando creo una nueva aplicación de consola y ejecuto el siguiente código a través del depurador, obtengo un resultado esperado: se lanza un UnauthorizedAccessException
y no se crea el directorio.¿Por qué IO.Directory.CreateDirectory tiene éxito cuando no debería?
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
Cuando ejecuto este mismo trozo de código de mi solución de producción, el método es IO.Directory.CreateDirectory()
no lanzar una excepción, IO.Directory.Exists()
devuelve verdadero, y el directorio en realidad no se crea en el disco.
¿Hay alguna configuración de proyecto/solución que haría que el comportamiento de IO.Directory.CreateDirectory() varíe de esta manera?
Nota: Soy no se ejecuta Visual Studio como administrador en ambos casos.
EDITAR: La aplicación de producción se ejecuta en el mismo cuadro que la aplicación de prueba.
EDIT # 2: La aplicación de producción está utilizando la virtualización. Hice clic en Mi PC, navegué hacia C: \ Windows, y hice clic en "Archivos de compatibilidad" en la barra de herramientas del explorador y me llevó a C: \ Users \ myUser \ AppData \ Local \ VirtualStore \ Windows donde estaban sentados mis directorios creados.
La única pregunta pendiente es: ¿por qué la aplicación de producción se virtualiza mientras que la aplicación de la consola de prueba arroja una excepción?
Respuesta: la aplicación de la consola, por defecto, se creó con una aplicación.manifestación. La aplicación de producción, que es una aplicación WPF, no tenía una aplicación. Manifiesto. Aparentemente Vista usará virtualización si no hay una aplicación. Presente presente para el ejecutable.
¡Gracias a todos!
Olvidó indicar si prod está ejecutando Vista también. – RichardOD
¿Estás seguro de que el directorio no se crea? Intente crear manualmente un ARCHIVO llamado c: \ windows \ zzzz – RedFilter