이 빌드 중 "코드 9009로 종료"는 무엇을 의미합니까?
이 오류 메시지의 의미는 무엇입니까?이 문제를 해결하려면 어떻게 해야 합니까?
AssemblyInfo.cs 이 코드 9009와 함께 종료되었습니다.
이 문제는 Visual Studio의 .NET 솔루션에서 빌드 후 단계의 일부로 발생했을 수 있습니다.
빌드 전 또는 빌드 후 이벤트 명령에서 실행 중인 명령의 전체 경로를 지정하려고 했습니까?
가 9009 오류가 했습니다.xcopyVisual Studio 2008의 빌드 후 이벤트 명령입니다.
"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"
@Florian Koch가 코멘트에서 언급했듯이 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의 Environmental Variables에서 PATH 변수를 변경한 후 동일한 변수가 발생하였습니다. 기본값으로 다시 변경하는 것이 도움이 되었습니다.
빌드 후 이벤트 스크립트가 지정된 경로에 없는 배치 파일을 실행하려고 할 때 오류 9009가 발생했습니다.
나의 정확한 실수는
The command "iscc /DConfigurationName=Debug "C:\Projects\Blahblahblah\setup.iss"" exited with code 9009.
9009는 파일을 찾을 수 없음을 의미하지만 실제로 명령의 "iscc" 부분을 찾을 수 없습니다.
를 추가하여 수정했습니다.";C:\Program Files\Inno Setup 5 (x86)\" environment variable 시스변로수 ▁the"path"
제 경우 호출한 실행 파일이 프로젝트 디렉터리에 있기 때문에 명령을 호출하기 전에 먼저 적절한 디렉터리로 "CD"(디렉토리 변경)해야 했습니다.
예:
cd "$(SolutionDir)"
call "$(SolutionDir)build.bat"
경로 환경 변수를 수정할 때 이 오류가 발생했습니다.후 로 편집후실추가다니습했로수다니습▁after▁accident를 추가했습니다.Path=경로 문자열의 시작 부분입니다.이러한 잘못된 경로 변수로 명령줄에서 XCopy를 실행할 수 없었고(명령어나 파일을 찾을 수 없음), Visual Studio는 코드 9009 오류를 이유로 빌드 후 단계 실행을 거부했습니다.
XCopy는 일반적으로 C:\Windows\시스템 32.일단 경로 환경 변수가 XCopy를 DOS 프롬프트에서 해결할 수 있게 되자 Visual Studio는 제 솔루션을 잘 구축했습니다.
스크립트가 실제로 필요한 작업을 수행하고 Visual Studio에서 오류에 대해 버그를 표시하는 경우 추가할 수 있습니다.
exit 0
당신의 대본 끝까지.
철자를 확인합니다.실행 파일을 부르려고 했는데 이름 철자가 틀려서 다음과 같은 메시지가 표시되었습니다.exited with code 9009메세지.
다른 변형:
오늘 나는 win32의 cron에서 python interpreter를 호출하고 exitCode(%ERRORLEVEL%) 9009를 가져갑니다. cron에서 사용하는 시스템 계정에 Python 디렉토리 경로가 없기 때문입니다.
이 경우 테스트 클래스 라이브러리의 빌드 후 이벤트에 대해 명령줄에서 명령을 사용하려고 할 때 문제가 발생했습니다.다음과 같은 따옴표를 사용하는 경우:
"$(SolutionDir)\packages\NUnit.Runners.2.6.2\tools\nunit" "$(TargetPath)"
또는 콘솔을 사용하는 경우:
"$(SolutionDir)\packages\NUnit.Runners.2.6.2\tools\nunit-console" "$(TargetPath)"
이것으로 저는 그 문제를 해결했습니다.
tfa의 답변은 부결되었지만, 실제로는 이 문제를 일으킬 수 있습니다.hanzolo 덕분에 출력 창을 보니 다음과 같습니다.
3>'gulp' is not recognized as an internal or external command,
3>operable program or batch file.
3>D:\dev\<filepath>\Web.csproj(4,5): error MSB3073: The command "gulp clean" exited with code 9009.
를 한 후npm install -g gulp저는 이 오류를 더 이상 이해하지 못했습니다.Visual Studio에서 이 오류가 발생하는 경우 출력 창을 확인하여 문제가 설정되지 않은 환경 변수인지 확인합니다.
또한 프로젝트의 빌드 후 이벤트 편집 창에 줄 바꿈이 없는지 확인합니다.웹이 다중 회선일 때 xcopy 명령을 복사하여 VS에 붙여넣으면 문제가 발생할 수 있습니다.
빌드 전 단계에서 줄 끝에 "> myFile.txt"를 추가하고 파일의 실제 오류를 검사했습니다.
Studio를 다시 만으로 이 했습니다. Studio를 실행한 지 되지 . 방금 실행했습니다.dotnet tool install xxx콘솔 창에서 VS가 변경된 새 환경 변수 및/또는 경로 설정을 아직 선택하지 않았기 때문에 빠른 재시작으로 문제가 해결되었습니다.
저는 디스크 공간이 부족했고 쓸 수 없는 파일은 나중에 있을 것으로 예상했습니다.다른 답변에서는 누락된 파일(또는 잘못된 이름/이름별로 잘못 참조된 파일)에 대해 언급했지만 근본 원인은 디스크 공간 부족이었습니다.
저는 큰 솔루션(~80 프로젝트)에서 하나의 PostSharp 버전에서 다음 버전으로 너겟 패키지를 업그레이드한 후에 이러한 일이 발생했습니다.PreBuild 이벤트에 명령이 있는 프로젝트에 대한 컴파일러 오류가 있습니다.
'batch'는 내부 또는 외부 명령어, 작동 가능한 프로그램 또는 배치 파일로 인식되지 않습니다.C:\프로그램 파일(x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(1249,5): 오류 MSB3073:명령 "cmd /c C:\GitRepos\main\"서비스 인터페이스\DEV.Config\PreBuild.cmd 서비스인터페이스"가 코드 9009와 함께 종료되었습니다.
PATH 변수가 손상되어 PostSharp와 관련된 여러 반복 경로가 너무 길어졌습니다.패턴.진단.Visual Studio를 닫고 다시 열었더니 문제가 해결되었습니다.
경로에 공백이 있기 때문에 다른 변형 파일을 찾을 수 없습니다.저의 경우 msbuild 스크립트입니다.exec 명령 내에서 HTML 스타일 및 문자열을 사용해야 했습니다.
<!-- Needs quotes example with my Buildscript.msbuild file -->
<Exec Command=""$(MSBuildThisFileDirectory)\wix\wixscript.bat" $(VersionNumber) $(VersionNumberShort)"
ContinueOnError="false"
IgnoreExitCode="false"
WorkingDirectory="$(MSBuildProjectDirectory)\wix" />
다른 답변들과 마찬가지로, 제 경우에는 파일이 누락되었기 때문입니다.누락된 파일이 무엇인지 알아보려면 출력 창으로 이동하면 누락된 파일이 바로 표시됩니다.
Visual Studio에서 출력 창 열기
- Ctrl+Alt+o
- 보기 > 출력
이것은 아주 기본적인 것입니다. 저는 이런 문제를 겪었고, 당황스러운 단순한 실패를 겪었습니다.
응용 프로그램에서 명령줄 인수를 사용합니다. 제거한 다음 다시 추가했습니다.갑자기 프로젝트를 빌드하지 못했습니다.
Visual Studio -> Project Properties -> 'Debug' 탭('Build Events' 탭이 아님)을 사용하는지 확인합니다. -> 명령줄 인수
및 Post/Pre-Build 텍스트 영역을 사용했는데, 이 경우는 잘못된 것입니다.
제 솔루션은 단순했습니다. 전원을 껐다가 다시 켜보셨습니까?그래서 컴퓨터를 다시 시작했더니 문제가 사라졌습니다.
나도 이것과 마주쳤습니다.9009덮어쓰기 상황에 직면할 때 문제가 발생합니다.
기본적으로 파일이 이미 존재하고 사용자가 지정하지 않은 경우/y스위치(자동으로 덮어쓰기)는 빌드에서 실행할 때 이 오류가 발생할 수 있습니다.
동료와 있었던 일입니다.개발 환경이 Windows이고 Visual Studio 프로젝트가 C: 드라이브에 있는 경우.관리자 권한으로 비주얼 스튜디오가 실행되는지 확인합니다.마우스 오른쪽 버튼을 클릭하고 '관리자 권한으로 실행'을 클릭합니다.Visual Studio project -> Advanced ->의 속성으로 이동하여 '관리자 권한으로 실행'을 활성화할 수도 있습니다.
빌드 후 스크립트에서 동일한 오류가 발생하여 명령 프롬프트에서 스크립트를 한 줄씩 실행하려고 했습니다.결국 근본 원인을 알게 된 것은 .nusspec 파일에 누락된 정보를 채우지 않았기 때문입니다. 즉, $에서 $ 사이의 모든 변수를 실제 값으로 교체합니다. 예를 들어 $author$를 내 이름으로 교체합니다.
확인:Output잘 두드리다
그것은 문제의 이유를 밝혀줄 것입니다.
(예: 제 경우에는 다음과 같은 의견과 관련이 있었습니다.'#' is not recognized as an internal or external command, operable program or batch file.)
실제로 어떤 이유로 %windir% 환경 변수가 지워지는 경우가 있다는 것을 알게 되었습니다.windir 환경 변수를 c:\windows로 재설정하고 VS를 다시 시작하면 끝입니다.이렇게 하면 솔루션 파일을 수정할 필요가 없습니다.
적어도 Visual Studio Ultimate 2013 버전 12.0.30723.00 업데이트 3에서는 if/else 문을 줄 바꿈으로 구분할 수 없습니다.
작업:
if '$(BuildingInsideVisualStudio)' == 'true' (echo local) else (echo server)
작동하지 않음:
if '$(BuildingInsideVisualStudio)' == 'true' (echo local)
else (echo server)
또 다른 이유는:빌드 전 이벤트가 다른 프로젝트 빈 경로를 참조하고 Visual Studio가 아닌 msbuild를 실행할 때 이 오류가 표시되는 경우 이벤트에서 대상으로 하는 프로젝트가 이벤트의 프로젝트보다 먼저 빌드되도록 *.sln 파일의 프로젝트를 수동으로 정렬해야 합니다.즉, msbuild는 프로젝트가 *.sln 파일에 나열된 순서를 사용하는 반면 VS는 프로젝트 종속성에 대한 지식을 사용합니다.wixproj에 포함될 데이터베이스를 만드는 도구가 wixproj 다음에 나열되었을 때 이런 일이 있었습니다.
언급URL : https://stackoverflow.com/questions/1351830/what-does-exited-with-code-9009-mean-during-this-build
'code' 카테고리의 다른 글
| 명령 프롬프트 / Windows Powershell(Windows 10)에서 UTF-8 인코딩(CHCP 65001) 사용 (0) | 2023.05.18 |
|---|---|
| postgresql 포트 혼란 5433 또는 5432? (0) | 2023.05.18 |
| Angular4로 업그레이드한 후 'require' 이름을 찾을 수 없습니다. (0) | 2023.05.13 |
| 구조체에 "new"를 사용하면 힙이나 스택에 할당됩니까? (0) | 2023.05.13 |
| numpy.ndarray에 대한 힌트/주석 입력(PEP 484) (0) | 2023.05.13 |
