[.net] 이 빌드 중에 “코드 9009로 종료”란 무엇을 의미합니까?

이 오류 메시지는 무엇을 의미합니까? 이 문제를 해결하려면 어떻게해야합니까?

코드 9009로 AssemblyInfo.cs가 종료 됨


Visual Studio의 .NET 솔루션에서 빌드 후 단계의 일부로 문제가 발생했을 수 있습니다.



답변

사전 또는 사후 빌드 이벤트 명령에서 실행중인 명령의 전체 경로를 제공하려고 했습니까?

xcopyVisual Studio 2008의 빌드 후 이벤트 명령 으로 인해 9009 오류가 발생했습니다 .

명령 "xcopy.exe /Y C:\projectpath\project.config C:\compilepath\"이 코드 9009로 종료되었습니다.

그러나 제 경우에는 간헐적이었습니다. 즉, 오류 메시지는 컴퓨터를 다시 시작할 때까지 지속되며 컴퓨터를 다시 시작하면 사라집니다. 내가 아직 발견하지 못한 원격 관련 문제가 다시 발생했습니다.

그러나 필자의 경우 전체 경로를 사용하여 명령을 제공하면 문제가 해결되었습니다.

c:\windows\system32\xcopy.exe /Y C:\projectpath\project.config C:\compilepath\ 

그냥 대신 :

xcopy.exe /Y C:\projectpath\project.config C:\compilepath\

전체 경로가 없으면 다시 시작한 후 잠시 동안 실행 된 다음 중지됩니다.

또한이 게시물에 대한 주석에서 언급했듯이 전체 경로에 공백이 있으면 명령 주위에 따옴표가 필요 합니다 . 예 :

"C:\The folder with spaces\ABCDEF\xcopy.exe" /Y C:\projectpath\project.config C:\compilepath\

공백과 관련된이 예제는 테스트되지 않았습니다.


답변

오류 코드 9009는 오류 파일을 찾을 수 없음을 의미합니다. 여기에 답변에 게시 된 모든 근본적인 이유는 이유를 알아내는 데 큰 영감을 주지만 오류 자체는 단순히 나쁜 길을 의미합니다.


답변

Microsoft Visual Studio x86 도구 사용을위한 일부 환경 설정이 누락 된 경우 발생합니다.
따라서 빌드 후 단계에서 첫 번째 명령으로 추가하십시오.

Visual Studio 2010의 경우 :

call "$(DevEnvDir)..\Tools\vsvars32.bat"

의견에 언급 된 @FlorianKoch와 VS 2017의 경우 :

call "$(DevEnvDir)..\Tools\VsDevCmd.bat"

다른 명령 앞에 배치해야합니다.
Microsoft Visual Studio x86 도구를 사용하기위한 환경을 설정합니다.


답변

아마도 당신은 당신의 결과 경로에 공간이 있습니다.

경로를 인용하여 공백을 허용하여이 문제를 해결할 수 있습니다. 예를 들면 다음과 같습니다.

xcopy "$(SolutionDir)\Folder Name\File To Copy.ext" "$(TargetDir)" /R /Y /I


답변

Win 7의 환경 변수에서 PATH 변수를 변경 한 후 동일한 변수가있었습니다. 기본으로 다시 변경하면 도움이되었습니다.


답변

빌드 후 이벤트 스크립트가 지정된 경로에 존재하지 않는 배치 파일을 실행하려고 할 때 오류 9009가 발생했습니다.


답변

경로 환경 변수를 수정할 때이 오류가 발생했습니다. 편집 후 실수로 추가했습니다Path= 경로 문자열의 시작 부분에 했습니다. 이러한 잘못된 경로 변수를 사용하면 명령 줄에서 XCopy를 실행할 수 없었으며 (명령 또는 파일을 찾을 수 없음) Visual Studio는 빌드 후 단계 실행을 거부했으며 코드 9009의 오류가 발생했습니다.

XCopy는 일반적으로 C : \ Windows \ System32에 있습니다. Path 환경 변수가 DOS 프롬프트에서 XCopy가 해결되면 Visual Studio가 내 솔루션을 잘 구축했습니다.