문제

무엇이 이 오류 메시지를 의미합니까?나는 무엇을 할 수 있를 이 문제를 해결할 수 있을까요?

첫 번째 절차를 수행하여 소스.cs 종료와 함께 코드 9009


문제입니다 아마도어의 일부로 포스트 구축 단계에서.NET 솔루션 Visual Studio.

올바른 솔루션이 없습니다

다른 팁

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

나는 9009 오류를 받고 있었다 xcopy Visual 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"

@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의 환경 변수에서 경로 변수를 변경 한 후 동일한 변수를 가졌습니다. 기본적으로 다시 변경하면 도움이되었습니다.

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

경로 환경 변수를 수정했을 때이 오류가 발생했습니다. 편집 후 실수로 추가했습니다 Path= 경로 문자열의 시작 부분까지. 이러한 기형 경로 변수를 사용하면 명령 줄에서 Xcopy를 실행할 수 없었고 (명령 또는 파일을 찾을 수 없음) Visual Studio는 Code 9009의 오류를 인용하여 건축 후 단계를 실행하는 것을 거부했습니다.

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

스크립트가 실제로해야 할 작업을 수행하고 추가 할 수있는 오류에 대해 버그를 띠는 시각적 스튜디오 일 뿐이라면 다음을 추가 할 수 있습니다.

exit 0

끝까지 스크립트.

철자를 확인하십시오. 나는 실행 파일을 부르려고했지만 이름이 철자를 썼고 그것은 나에게 주었다. exited with code 9009 메시지.

제 경우에는 명령을 호출하기 전에 "CD"(변경 디렉토리)를 먼저 적절한 디렉토리로 가져와야했습니다.

예시:

cd "$(SolutionDir)"
call "$(SolutionDir)build.bat"

내 정확한 오류였습니다

The command "iscc /DConfigurationName=Debug "C:\Projects\Blahblahblah\setup.iss"" exited with code 9009.

9009는 파일을 찾을 수 없지만 실제로 명령의 "ISCC"부분을 찾을 수 없었습니다.

추가하여 고정했습니다 ";C:\Program Files\Inno Setup 5 (x86)\" 시스템 환경 변수에 "path"

다른 변형 :

오늘 저는 Win32의 CRON에서 Python 통역사에게 전화를 걸어 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)"

이것은 나에게 문제를 해결했다.

또한 프로젝트의 Post Build Event 편집 창에 라인 브레이크가 없는지 확인하십시오. Xcopy 명령이 멀티 라인이고 VS에 붙여 넣을 때 웹에서 Xcopy 명령을 복사하면 문제가 발생합니다.

사전 건축 단계에서 줄 끝에 "> myfile.txt"를 추가 한 다음 파일을 실제 오류에 대해 검사했습니다.

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 에서이 오류가 발생하는 경우 출력 창을 확인하고 문제가 설정되지 않은 환경 변수인지 확인하십시오.

저에게는 디스크 공간이 낮았으며, 쓸 수없는 파일은 나중에 참가할 것으로 예상되었습니다. 다른 답변은 누락 된 파일 (또는 이름이 잘못/부적절하게 참조 된 파일)을 언급했지만 근본 원인은 디스크 공간이 부족했습니다.

경로의 공간 때문에 다른 파일 변형을 찾을 수 없습니다. 제 경우에는 MSBuild 스크립트입니다. HTML 스타일을 사용해야했습니다 " exec 명령 내의 문자열.

<!-- Needs quotes example with my Buildscript.msbuild file --> 
<Exec Command="&quot;$(MSBuildThisFileDirectory)\wix\wixscript.bat&quot; $(VersionNumber) $(VersionNumberShort)" 
    ContinueOnError="false" 
    IgnoreExitCode="false" 
    WorkingDirectory="$(MSBuildProjectDirectory)\wix" />

다른 답변과 동일합니다. 제 경우에는 누락 된 파일 때문이었습니다. 누락 된 파일이 무엇인지 알기 위해 출력 창으로 이동하여 누락 된 내용을 바로 표시합니다.

Visual Studio에서 출력 창을 열려면 :

  1. ctrl+alt+o
  2. 보기> 출력

enter image description here

나는 간단히 Visual Studio를 다시 시작하여 이것을 고쳤습니다 - 방금 실행했습니다. dotnet tool install xxx 콘솔 창과 VS는 아직 새로운 환경 변수 및/또는 경로 설정을 선택하지 않았으므로 빠른 재시작으로 문제가 해결되었습니다.

이것은 매우 기본적이며,이 문제가 있었고 당황스러운 단순한 실패.

응용 프로그램 사용 명령 줄 인수를 사용하여 제거한 다음 다시 추가했습니다. 갑자기 프로젝트가 구축되지 않았다.

Visual Studio-> Project Properties-> 'Debug'탭 ( '빌드 이벤트'탭이 아님) -> 명령 줄 인수

나는 그리고 Post/pre-build 텍스트 영역을 사용했는데,이 경우 잘못된 것입니다.

저에게는 큰 솔루션에서 하나의 PostSharp 버전에서 다음 버전으로 Nuget 패키지를 업그레이드 한 후에 발생했습니다 (~ 80 프로젝트). 사전 빌드 이벤트에 명령이있는 프로젝트에 대한 컴파일러 오류가 있습니다.

'CMD'는 내부 또는 외부 명령, 작동 가능한 프로그램 또는 배치 파일로 인식되지 않습니다. C : Program Files (x86) MSBuild 14.0 bin microsoft.common.currentversion.targets (1249,5) : Error MSB3073 : 명령 "CMD /C C : gitrepos Main ServiceInterfaces dev.config prebuild.cmd serviceinterfaces "코드 9009로 종료되었습니다.

PostSharp.patterns.diagnostics와 관련된 여러 반복 경로로 경로 변수가 너무 길어졌습니다. Visual Studio를 닫고 다시 열었을 때 문제가 해결되었습니다.

내 솔루션은 단순했습니다. 다시 끄고 다시 켜려고 했습니까? 그래서 컴퓨터를 다시 시작했고 문제가 사라졌습니다.

나는 또한 이것에 부딪쳤다 9009 덮어 쓰기 상황에 직면 할 때 문제.

기본적으로 파일이 이미 존재하고 지정하지 않은 경우 /y 이 오류는 빌드에서 실행될 때 스위치 (자동으로 덮어 쓰기)가 발생할 수 있습니다.

실제로 나는 어떤 이유로 windir % 환경 변수가 때때로 지워진다는 것을 알았습니다. 저를 위해 일한 것은 Windir 환경 변수를 C : Windows, Restart VS로 다시 설정하는 것입니다. 이렇게하면 솔루션 파일을 수정하지 않아도됩니다.

최소 Visual Studio 에서 궁극적인 2013 년 버전 12.0.30723.00 업데이트 3 가능하지 않을 분리하는 경우 다른 문으로 줄 바꿈:

작동:

if '$(BuildingInsideVisualStudio)' == 'true' (echo local) else (echo server)

이 작동하지 않:

if '$(BuildingInsideVisualStudio)' == 'true' (echo local) 
else (echo server)

또 다른 이유 : 사전 건축 이벤트가 다른 프로젝트 BIN 경로를 참조하고 MSBuild를 실행할 때이 오류가 표시되지만 Visual Studio가 아닌 경우이 오류가 표시되면 *.sln 파일 (텍스트 편집기 포함)에 프로젝트를 수동으로 배열해야합니다. 이벤트에서 타겟팅하는 프로젝트는 이벤트 프로젝트 전에 구축되었습니다. 다시 말해, MSBuild는 프로젝트가 *.SLN 파일에 나열된 순서를 사용하지만 VS는 프로젝트 종속성에 대한 지식을 사용합니다. WixProj에 WixProj에 포함될 데이터베이스를 작성하는 도구가 WixProj 이후에 나열되었을 때 이런 일이 발생했습니다.

제 경우에는 경로에 러시아 상징이 있다고 생각합니다 (모든 프로젝트는 사용자 폴더에있었습니다). 다른 폴더에 솔루션을 넣으면 (디스크에서 직접) 모든 것이 정상이되었습니다.

내 솔루션은 파일의 사본을 만들고 빌드 작업에 단계를 추가하여 원본 위에 내 파일을 복사하는 것이 었습니다.

전 세계적으로 Grunt를 설치했는지 확인해야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top