Aunque la clase IO en .net en C# es muy poderosa, no es práctica en los servidores de muchos proveedores de servicios virtuales debido a sus poderosas funciones. Debido a que IO.Directory e IO.DirectoryInfo atravesarán el disco y el directorio del disco duro donde se encuentra el sitio web al operar la carpeta de la aplicación. Generalmente, los proveedores de servicios virtuales no habilitarán permisos de lectura para los usuarios del servicio de red de este disco, por lo que al operar. la carpeta Al utilizar estas dos clases en IO, aparecerá el siguiente error: No se encontró parte de la ruta "E:".
Explicación: Se produjo una excepción no controlada durante la ejecución de la solicitud web actual. Consulte el seguimiento de la pila para obtener más detalles sobre el error y en qué parte del código lo causó.
Detalles de la excepción: System.IO.DirectoryNotFoundException: parte de la ruta 'E:' no encontrada.
Error de origen:
se generó una excepción no controlada durante la ejecución de la solicitud web actual. Puede utilizar la información de seguimiento de la pila de excepciones que aparece a continuación para determinar información sobre la causa y la ubicación de la excepción.
Seguimiento de pila:
[DirectoryNotFoundException: parte de la ruta 'E:' no encontrada. ]
System.IO.__Error.WinIOError (código de error Int32, cadena de cadena) +287
System.IO.Directory.InternalCreateDirectory(String fullPath, String path) +489
System.IO.Directory.CreateDirectory (ruta de cadena) +195
-----------------------
Información de versión: Versión de Microsoft .NET Framework: 1.1.4322.2300; Versión de ASP.NET: 1.1.4322.2300
No se encontró la ruta E: /, la unidad E es la ruta del disco en el servidor, que puede variar según el servidor. Ante este problema y el proveedor del servicio se niega a otorgarte más permisos, ¿cómo debes solucionarlo?
Jaja, tal vez sea porque mis conocimientos básicos son relativamente pobres, así que busqué respuestas en línea, pero no pude encontrar la respuesta. Por casualidad descubrí que asp puede crear carpetas usando fso. Entonces pensé en usar asp.net para llamar al componente fso en la ventana. Jaja, realmente funcionó. Escribo este artículo para aquellos amigos y hermanos que están luchando con este problema y no pueden resolverlo.
Proyecto->Referencia Explorar componente COM Microsoft Scripting Runtime
Scripting.FileSystemObject fso=new Scripting.FileSystemObjectClass();
fso.CreateFolder(Path)
es suficiente, pero la premisa de esta solución es que el proveedor de servicios virtuales ha activado FSO
en cuanto a Archivo de operación IO Aún se está estudiando por qué las dos clases intercaladas atraviesan el directorio raíz del disco, pero el problema finalmente se ha resuelto. Espero que las personas que saben esto puedan darle una respuesta.
http://www.cnblogs.com/ccc110/archive/2006/12/22/600480.html