
최신 업데이트가 포함된 Windows 7 SP1에서 SP5로 업데이트된 Visual Studio 2012 Professional을 사용하고 있습니다. 한동안 Visual Studio 2015가 필요했는데 설치한 다음 표준 제거 프로그램을 사용하여 제거했습니다.
하지만 오늘은 Windows용 Webkit을 빌드해야 했고 해당 빌드 스크립트가 실행되어 vswhere.exe
Visual Studio 2015의 일부 부분이 "작업 중" 설치로 감지되었으므로 여기에서 찾은 VS2015에 대한 "전체" 제거가 필요했습니다.https://github.com/Microsoft/VisualStudioUninstaller. 한 번 실행했는데 VS2015가 vswhere.exe
출력에서 사라졌습니다.
하지만 이제 문제가 생겼습니다. VS2012로 컴파일하려고 하는 모든 앱에 "cl.exe가 코드 -1073741701로 인해 비정상적으로 종료되었습니다"라는 메시지가 표시됩니다.
나는 시도했다 :
- 새로 설치(기본 제거, 종속성 제거, 다시 설치)를 포함하여 SP5 유무에 관계없이 VS2012를 여러 번 다시 설치했지만 여전히 동일한 오류가 발생했습니다.
- VS2012를 복구하려고 했습니다.
- 실행하려고 했는데
C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\cl.exe
"mspdb110.dll을 찾을 수 없습니다"라는 메시지가 나타납니다. Msobj110.dll
,Mspdb110.dll
및 from 을Mspdbcore.dll
복사 하여 PATH 에 추가했습니다 . 여전히 같은 오류입니다.Mspdbsrv.exe
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE
프로젝트 플랫폼을 x64로 전환하면 문제 없이 컴파일되고 실행됩니다. x86 컴파일러만 실행할 수 없으며 위의 오류가 발생합니다. 때때로 VS2012에 "cl.exe가 코드 0xc000007b를 실행할 수 없습니다"라는 팝업이 표시됩니다.
를 실행하면 작동하는 32비트 앱을 C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\vcvarsall.bat x86
실행하고 컴파일할 수도 있지만 Visual Studio 2012 IDE에서는 무엇을 하든 매번 실행되지 않습니다.cl.exe
cl.exe
문제를 해결할 수 있도록 도와주세요.
아마도 폴더에 있는 .NET Framework(4.5, 4.6 및 4.7이 설치되어 있음)와 관련이 있는 것 같습니다 MSBuild
. 어떻게든 .NET Framework SDK를 다시 설치해야 할까요? 가능하다면 OS 재설치는 피하고 싶습니다.
편집: 현상금을 시작했습니다. 여전히 같은 문제가 있습니다.
"빌드 전 실행..." 스크립트에 매개변수 없이 실행을 삽입하려고 했는데 cl.exe
거기에서 실행됩니다! 그러나 나중에 IDE는 cl.exe
.NET 환경에서 실행되어 다음을 제공합니다.
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.CppCommon.targets(347,5): 오류 MSB6006: "CL.exe" 종료 오류 코드 -1073741701
x64 플랫폼을 선택하면 cl.exe
어디에서나 완벽하게 실행됩니다. 을 실행하면 vcvarsall.bat x86
실행하고 컴파일할 수 있습니다 cl.exe
.
수정해야 할 유일한 것은 Visual Studio 2012 IDE에서 Win32 x86 빌드에 사용된 환경의 일부 경로입니다. .NET Framework 또는 Visual Studio를 다시 설치하거나(시도했지만 어쨌든) 일부 MSBuild 구성을 편집할 수 있습니다. 고칠 수 있는 곳을 알려주세요. 내가 할 수 없는 유일한 일은 OS를 다시 설치하는 것입니다. 소프트웨어가 많고 다시 설치하는 데 시간이 많이 걸리기 때문입니다.
업데이트: .NET Framework 4.5, 4.6, 4.7 및 Microsoft SQL Server 2008, 2012를 포함한 모든 것을 제거하려고 시도했습니다. 그런 다음 Visual Studio 2012 Professional RTM을 설치했습니다. 처음 실행 시 설치 후 테스트 앱을 열었는데 위와 같은 오류가 발생했습니다. x64 버전이 작동합니다. SP5를 설치한 후에도 마찬가지입니다.
업데이트 2: Windows 7 SP1 가상 머신 설치 작업에서 Visual Studio 2012, Windows SDK 및 msbuild 파일을 가져오려고 했습니다. 오류, 동일한 문제는 해결되지 않습니다. 또한 cl.exe를 더미 32비트 앱으로 바꾸려고 했지만 IDE에서 빌드를 실행할 때마다 여전히 0xc000007b가 발생합니다. IDE Visual Studio에서 실행할 때 일부 64비트 DLL과 함께 cl.exe 32비트를 사용하는 것처럼 보입니다. 그러나 그것을 찾는 방법과 고치는 방법을 모르겠습니다.
답변1
여러 Visual Studio 버전이 설치되어 있는 경우 하나의 Visual Studio 버전을 제거할 경우 너무 많은 버전을 제거할 위험이 있습니다. Visual Studio 버전은 나란히 설치할 수 있지만 공통 구성 요소를 사용할 수도 있습니다.
이것이 당신에게 일어난 일인 것 같습니다. DLL을 복사하고 PATH를 수정하여 문제를 해결하려는 노력은 혼란을 가중시킬 뿐입니다. 현재 나는 vcvarsall.bat
재설정을 실행하지 않는 한 PATH 및 기타 환경 변수로 인해 32비트 및 64비트 DLL이 혼합되는 것으로 생각합니다 .
나는 상황을 더 개선하기 위해 더 많은 아이디어를 제시해야 한다고 생각하지 않습니다. 왜냐하면 그것은 문제를 더욱 악화시키고 미래를 위한 숨겨진 시한폭탄을 남길 뿐이기 때문입니다.
이것은 제가 생각할 수 있는 Visual Studio 및 .Net을 새로 설치하는 가장 가까운 방법입니다.
- 다음을 사용하여 Visual Studio 2012 Professional을 완전히 제거합니다. Revo 제거 프로그램 프리웨어
- 제어판 > 프로그램 및 기능은 물론 Windows 기능 켜기/끄기에서 가능한 모든 .Net 버전을 제거하세요.
- 수동으로 또는 다음과 같은 클리너를 실행하여 모든 폴더와 레지스트리를 스크럽합니다. CCleaner
- .Net 버전 수를 최소화하면서 다시 설치하십시오(일반적으로 최신 버전만 필요함).
- Visual Studio 2012 Professional을 설치하고 SP5로 업데이트합니다.
성공을 보장할 수는 없지만 이것이 Windows를 다시 설치하지 않고 완전히 새로 설치하려고 노력하는 방법입니다.
혹시라도 다시 돌아갈 수 있도록 시스템 디스크의 이미지를 백업해 두는 것이 좋습니다. 나는 추천한다 AOMEI Backupper 표준.
답변2
VS2015에서도 동일한 문제가 발생했습니다. 제 경우에는 프로젝트 폴더에서 다음 파일을 삭제하면 문제가 해결되었습니다.
\.vs\myProjectName\v14\.suo
\myProjectName.VC.db
\x64 (the whole x64 build output folder if there is one)