문제점 : 데스크탑 폴더 내의 폴더 (내용 포함)를 C#으로 프로그램 적으로 삭제할 수 없습니다. desktopDestinationPath 값을 복사하여 Windows 탐색기에 붙여 넣으면 이 폴더를 열 수 있습니다. (결론, 경로는 유효합니다.) 테스트 - Directory.Exists (desktopDestinationPath) - true로 반환되고 코드에 가 표시됩니다. (결론, 경로가 유효 함) 디렉토리 삭제 (desktopDestinationPath, true) - 예외를 throw (결론, 경로가 더 이상 유효하지 않음) 예외에서 경로 값을 복사하여 Windows 탐색기에 붙여 넣으면 열 수 있습니다. 이 폴더 (결론, 경로 유효)데스크탑 폴더를 삭제할 수 없습니다.
내가 시도한 것 : 빌드, 다시 작성, 솔루션 정리, 스튜디오를 다시 시작하십시오. 또한 폴더를 수동으로 삭제하고 코드를 실행하면 폴더가 성공적으로 만들어집니다. 그러나 두 번째 실행하면 예외가 발생합니다. 결과 : 당황한 표정과이 글. 죄송합니다. 너무 자세히 말하면됩니다. 나는 해결책과 비판을 돕기 위해 열었습니다 내가 게시 한 방법 (둘 다 배울 것을 도울 것입니다) 미리 감사드립니다! Visual Studio 정보가이 항목의 맨 아래쪽에 있습니다. Microsoft Visual Studio Premium 2013 (C#)을 사용 중입니다.
내 코드 :
내 코드는 다음과 같은 예외 던지고// preceded by other code in the method
if (Directory.Exists(desktopDestinationPath)) // desktopDestinationPath is "C:\\Users\<me>\\Desktop\\<folder 1>\\<folder 2>"
{
Directory.Delete(desktopDestinationPath, true); // exception is thrown here <***> "C:\\Users\\<me>\\Desktop\\<folder 1>\\<folder 2>"
// create folder
Directory.CreateDirectory(desktopDestinationPath);
// Call a method to perform Xcopy
ProcessXcopy(SourceLoc, desktopDestinationPath);
}
// followed by an else which creates folder if it does not exist
: // 참고 내가
System.IO.DirectoryNotFoundException는 사용자 코드 HRESULT = -2147024893 메시지로 처리되지 않은했다 Pri.Longpath을 사용하고를 = 경로 'C : \ Users \ ljones \ Desktop \ folder 1 \ folder2 \ fldr3 \ fldr4 \ fldr5 \ fldr6 \ fldr7 \ fldr8 \ fldr9'의 일부를 찾을 수 없습니다. System.IO.Directory.Delete (String fullPath, String userPath, Boolean recursive, Boolean checkHost)의 System.IO.Directory.DeleteHelper (System.IO.Directory.DeleteHelper)에서 Source = mscorlib입니다. UnitTests.GatMinerTest.CreateDesktopDestinationFolder (String desktopPath) at c : \ Users \ some folder \ Source \ Workspaces \ some folder \ some folder \ some folder \ some file : 93 번 줄에서 IO.Directory.Delete (문자열 경로, 부울 재귀) UnitTests.GatMinerTest.IcwIntegrationMethod() in c : \ Users \ some folder \ Source \ Workspaces \ some folder \ some folder \ some folder \ some file : 줄 65 InnerException :
웹에서 배웠습니다 : DirectoryNotFoundException 예외 은 파일 경로 또는 디렉토리의 일부가없는 경우 발생합니다. 디렉터리가 지정된 위치에 나타나는지 확인하십시오. 디렉토리가 지정된 위치에 있는지 확인하십시오. // 상당히 (99.9 %) 특정 디렉토리가 존재합니다. 상대 경로를 사용하는 경우 현재 디렉토리가 올바른지 확인하십시오. 이 잘못된 현재 디렉토리라고 가정하면 경로가 올바르지 않을 수 있습니다. // 나는 공정하다 (99.9 %) 특정 디렉토리가 존재 함
질문을 다시 포맷하십시오. 코드 4 칸을 들여 쓰면 구문 강조와 코드 블록을 얻을 수 있습니다. –
satic 경로를 사용하고 있습니까? – indian
이전에 댓글을 본 적이 있으면 게시 한 오류 코드를 확인하지 마십시오. 이 코드를 게시 할 수 있습니까? 대부분 문자열 서식 문제가있을 가능성이 큽니다. 당신은 리터럴을 정확히 벗어나고 있습니까? 예 :''C : \\ SomeFolder \\ SomeOtherFolder ''또는'@ "C : \ SomeFolder \ SomeOtherFolder" – alykins