C#의 .net에 있는 IO 클래스는 매우 강력하지만 강력한 기능으로 인해 많은 가상 서비스 공급자의 서버에서는 실용적이지 않습니다. IO.Directory와 IO.DirectoryInfo는 응용 프로그램 폴더를 운영할 때 디스크와 웹사이트가 위치한 하드 디스크의 디렉터리를 순회하기 때문에 일반적으로 가상 서비스 제공업체에서는 이 디스크의 네트워크 서비스 사용자에게 읽기 권한을 허용하지 않으므로 운영 시 폴더 IO에서 이 두 클래스를 사용할 때 다음 오류가 나타납니다. "E:" 경로의 일부를 찾을 수 없습니다.
설명: 현재 웹 요청을 실행하는 동안 처리되지 않은 예외가 발생했습니다. 오류와 오류를 일으킨 코드의 위치에 대한 자세한 내용은 스택 추적을 확인하세요.
예외 정보: System.IO.DirectoryNotFoundException: 'E:' 경로의 일부를 찾을 수 없습니다.
소스 오류:
현재 웹 요청을 실행하는 동안 처리되지 않은 예외가 생성되었습니다. 아래의 예외 스택 추적 정보를 사용하여 예외의 원인과 위치에 대한 정보를 확인할 수 있습니다.
스택 추적:
[DirectoryNotFoundException: 'E:' 경로의 일부를 찾을 수 없습니다. ]
System.IO.__Error.WinIOError(Int32 errorCode, 문자열 str) +287
System.IO.Directory.InternalCreateDirectory(문자열 전체 경로, 문자열 경로) +489
System.IO.Directory.CreateDirectory(문자열 경로) +195
-----------------------
버전 정보: Microsoft .NET Framework 버전: 1.1.4322.2300; ASP.NET 버전: 1.1.4322.2300
경로 E를 찾을 수 없습니다: /, E 드라이브는 서버상의 디스크 경로로, 서버에 따라 다를 수 있습니다. 이 문제에 직면하고 서비스 제공업체가 추가 권한 부여를 거부하는 경우 어떻게 해결해야 합니까?
하하, 아무래도 기초 지식이 상대적으로 부족한 탓인지 인터넷으로 답변을 찾아봤지만 찾을 수가 없었습니다. 우연히 ASP가 fso를 사용하여 폴더를 만들 수 있다는 것을 발견했습니다. 그래서 asp.net을 사용하여 창에서 fso 구성 요소를 호출하려고 생각했습니다. 하하, 실제로 효과가 있었습니다. 이 문제로 어려움을 겪고 있지만 해결할 수 없는 친구와 형제들을 위해 이 글을 썼습니다.
프로젝트->참조 COM 구성 요소 찾아보기 Microsoft Scripting Runtime
Scripting.FileSystemObject fso=new Scripting.FileSystemObjectClass();
fso.CreateFolder(Path)
로 충분하지만 이 솔루션의 전제는 가상 서비스 공급자가 FSO를 활성화했다는 것입니다
. IO 작업 파일 샌드위치된 두 클래스가 디스크의 루트 디렉터리를 순회하는 이유는 아직 연구 중이지만 문제가 마침내 해결되었으면 좋겠습니다.
http://www.cnblogs.com/ccc110/archive/2006/12/22/600480.html