visual-studio - 이벤트 - c# 명령이 종료되었습니다 코드 1



빌드시 코드 4와 함께 종료 된 명령 복사-Visual Studio를 다시 시작하면 문제가 해결됩니다. (17)

/ xcopy를 / exclude 옵션과 함께 사용하여 비슷한 것을 얻고 있습니다. 필자의 경우 빌드 후 이벤트 편집 (명령 다음에 줄 바꾸기와 같은 무해한 작업) 및 프로젝트 저장으로 인해 오류가 발생합니다. / exclude 옵션에 지정된 파일을 다시 저장하면 다시 작동합니다.

https://src-bin.com

때마다 나는 (여기에 7 개의 프로젝트로) 내 솔루션을 빌드 할 때 Visual Studio 2010 Premium ed에서 'Command copy with code 4'오류가 발생합니다.

이것은 빌드 후 이벤트가 통과 할 수 없기 때문입니다.

다음은 일시적으로 문제를 해결하는 방법입니다.

  • 때때로 : Visual Studio를 다시 시작하면 솔루션을 빌드 할 수 있습니다.
  • 때로는 Visual Studio를 다시 시작하고 파일 관리자 (Q-Dir 4.37)를 사용하여 해결합니다.

빌드 후 이벤트는 다음과 같습니다.

xcopy "$(SolutionDir)Solution Items\References\*.dll" "$(TargetDir)" /Y

명령 복사가 [코드 삽입] 오류와 함께 종료 될 때 일반적으로 다음과 같은 이유로 인해 발생합니다.

  • 읽기 / 쓰기 권한
  • 누락 된 파일
  • 잘못된 디렉토리

그러나 분명히 솔루션을 구축 할 때 분명히 문제는 없습니다.

참고로, 2 주 전에 ReSharper 5.1.1을 제거했고 Visual Studio에서 디버깅 할 수없는 오류가 발생했습니다. Visual Studio를 다시 설치했는데 그 이후로는 더 잘 작동하지만 여전히이 문제가 발생합니다. ReSharper가 어딘가에있는 것과 관련이 있을까요?

당신도 똑같은 문제가 있었고 해결 했습니까? 아니면 가능한 해결책이 있습니까?

건배.


Answer #1

DLL 라이브러리를 작성하면서 xcopy 명령을 사용하여 프로그램을 찾아로드 할 수있는 라이브러리를 복사했습니다. 프로그램을 여러 번 열고 닫은 후에도 내가 인식하지 못했던 taskmanager에서 열린 프로세스가 여전히 열려있었습니다.

파일을 사용할 수있는 프로세스를 찾아 닫습니다.


Answer #2

Windows 7 이상을 실행하는 경우 새로운 'robocopy'명령을 사용해보십시오.

robocopy "$(SolutionDir)Solution Items\References\*.dll" "$(TargetDir)"

robocopy에 대한 자세한 내용은 here .


Answer #3

post 빌드 이벤트에 빌드 출력을 일부 디렉토리 (일반적으로 가장 일반적인 빌드 빌드 작업)에 복사하기위한 copy / xcopy 명령이 들어있는 경우 소스 또는 대상 대상의 전체 디렉토리 경로에 다음을 포함하는 폴더 이름이 포함 된 경우 공백 디렉토리 이름을위한 공간을 제거하고 시도하십시오.


Answer #4

관리자 모드에서 VS를 실행하면 정상적으로 작동합니다.


Answer #5

나는 같은 문제가 있었다. 같은 플래그를 두 번 사용하여 발생했습니다. 예를 들면 다음과 같습니다.

$ (SolutionDir) Deployment \ $ (ProjectName) \ "/ e / d / i / y / e를 입력하면 $ (ConfigurationName) == 릴리스 (xcopy"$ (TargetDir)

"/ e"플래그가 두 번 나타납니다. 사본을 제거하면 문제가 해결됩니다.


Answer #6

나는 똑같은 문제가 있었다. VS의 간단한 'Clean Solution'은 오류를 해결했지만 일시적인 해결책이었습니다.


Answer #7

나는 똑같은 문제가 있었다. 그러나, 아무것도 나를 위해 일했다. 나는이 문제를

exit 0

내 코드에. 문제는 내가 파일을 복사하는 동안 마지막 파일을 찾을 수없는 경우가 있고 박쥐가 0이 아닌 값을 반환했기 때문입니다.

희망이 사람을 돕는다!


Answer #8

내 경우에는 내 $(OutDir) 단순히 ..\..\Build\ ie 몇 가지 상대 경로. 그리고, xcopy /y "$(OutDir)Proj1.dll" "Anypath\anyfolder\" 와 같이 xcopy /y "$(OutDir)Proj1.dll" "Anypath\anyfolder\" 시도 할 때 종료 코드 오류 4가 발생했습니다.

무슨 일이 있었는지,이 명령은 프로젝트의 csproj 파일이 위치한 디렉토리가 아니라 (우리가 일반적으로 기대하는 것처럼) $ (OutDir) (내 경우 빌드 폴더) 자체에서 실행되고있었습니다. 따라서, 나는 File not found 오류 (종료 코드 4에 해당)를 계속했다.

포스트 빌드 이벤트에서 cd 를 쓸 때까지 이것을 이해할 수 없었습니다.

요약하자면, $(OutDir) 에서 파일을 copy 하려면 출력 디렉토리의 전체 경로 인 "$(TargetDir)" 사용하거나 경로를 지정하지 않아도됩니다.


Answer #9

또한이 문제에 직면했습니다. 오류 창에서 결과를 다시 확인하십시오.

필자의 경우에는 $(TargetDir) 사용하면서 tailing이 xcopy를 충돌 시켰습니다. 내 경우에는 $(SolutionDir)..\bin . 다른 출력을 사용하는 경우 조정해야합니다.

또한 컴파일 후 오류가 사라지면 start xcopy 도 문제가 해결되지 않습니다. 그것은 커맨드 라인에 의해 그냥 억제되었을 수도 있고 실제로 복사 된 파일도 없습니다!

명령 셸에서 xcopy 명령을 수동으로 실행할 수 있습니다. 거기에서 실행하면 더 정확한 정보를 얻을 수 있습니다.


Answer #10

빌드가 끝난 후 XCOPY의 경우에도 동일한 문제가 발생했습니다. 제 경우에는 폴더에 대한 읽기 전용 권한 때문에 문제가 발생했습니다.

XCOPY 전에 attrib -R 명령을 추가하고 문제를 해결했습니다.

희망은 누군가를 돕는다!


Answer #11

여기에 웹 응용 프로그램이라는 것을 알리기 위해 아무것도 보이지 않지만이 문제는 직접 경험했습니다. 포스트 빌드 이벤트에 두 xcopy 명령이 있는데 그 중 하나만 실패했습니다. 파일에 잠김이 있었으며 Visual Studio가 아닙니다 (다시 시작해 보았습니다).

내가 만든 DLL을 사용했을 유일한 다른 것은 IIS였습니다. 그리고 보라, 보라,

간단한 iisreset 이 나를 위해 속임수를 사용했습니다.


Answer #12

테스트 엔진과 관련하여 xcopy에서 동일한 오류가 발생했습니다. VisualStudio Professional 2013을 사용하고 있습니다. 기본적으로 테스트 -> 테스트 설정 -> 테스트 실행 엔진 실행은 xcopy를 사용하여 오류 코드 4의 원인 인 것 같습니다. 그것을 끄면 문제가 해결되었습니다. 실행 엔진은 일부 .dll을 보류하고있는 것 같습니다.


Answer #13

파일의 Copy To Output Directory 매개 변수를 항상 복사로 설정하면 잠금 문제가 해결 된 것 같습니다. 지금은 파일의 복사본이 두 개 있고 삭제해야합니다.


Answer #14

필자는 이것이 파일 잠금 문제라는 것을 항상 알아 냈습니다. 코드 4는 파일에 액세스 할 수 없습니다. 하나의 부분적인 해결책은 xcopy에 / C 옵션을 사용하는 것입니다 (오류가 계속됨). 실제로는 솔루션이 아니지만 대부분 내 빌드가 실패하지 않도록 막았습니다.

32 비트에서만 작동하는 또 다른 솔루션은 unlocker 해제 도구를 사용하여 복사하기 전에 파일의 창 핸들을 해제하는 것입니다.

편집 : 나는 그것이 64 비트에서도 작동한다는 것을 깨달았습니다.


Answer #15

/C 는 오류를 무시할 수 있지만 빌드가 성공하려면 반드시 복사해야하는 파일이있을 수 있으므로 실제 솔루션이 아닐 수도 있습니다.

가장 일반적인 문제는 사전 정의 된 명령 태그 (예 : $TargetDir ) 주변에 누락 된 따옴표입니다. 코드 나 TFS에서 다양한 분기와 경로를 만들면이 문제가 발생할 가능성이 매우 높습니다.

경우에 따라 파일이 읽기 전용 인 경우 문제가 발생할 수 있습니다. 읽기 전용 파일을 복사 할 수 있도록 /R 옵션을 추가하십시오. 사용 가능한 옵션 목록은 다음에서 찾을 수 있습니다.

http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/xcopy.mspx?mfr=true

또 다른 가능한 문제는 기본 폴더에 액세스 할 수 없다는 것입니다. 그렇다면 "start xcopy" 대신 "start xcopy" 를 수행하십시오. 그러면 다른 명령 창이 열리지 만 관리자 권한이 있습니다.


Answer #16

나에게 맞는 점은 : 원하는 프로젝트의 구체적인 솔루션을 파헤쳐보십시오. 즉, 모든 프로젝트의 전체 솔루션 파일이 아닙니다.

시도해보십시오 - 나는 여기에 언급 된 다른 모든 것을 시도했지만 아무 소용이 없습니다.





visual-studio