Development Tip

MSBuild에 "VCTargetsPath"속성에 대한 값이 없습니다.

yourdevel 2021. 1. 7. 20:09
반응형

MSBuild에 "VCTargetsPath"속성에 대한 값이 없습니다.


최근에 Visual Studio 11 개발자 미리보기를 설치하여 사용해 보았지만 이제 VS 2010 프로젝트가 열리지 않습니다. 대신 다음과 같은 오류 메시지가 표시됩니다.

MSBuild에 "VCTargetsPath"속성에 대한 값이 없습니다.

Connect 에서 문제를보고 한 사람을 찾았으며 Microsoft의 응답은 다음과 같습니다.

Microsoft가 2011 년 12 월 2 일 오후 5:25에 작성했습니다.
Hi Afshin,

피드백 주셔서 감사합니다. 발생한 문제는 다음 공개 릴리스 Visual Studio에서 수정되었습니다.

Jim Griesmer
Visual C ++ 팀

환상적입니다. 그렇다면 내 프로젝트가 다시 작동하도록 VCTargetsPath를 어떻게 복원합니까?

"VCTargetsPath는 HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ MSBuild \ ToolsVersions \ 4.0에 정의 된 도구 집합 속성입니다."

레지스트리에서 VCTargetPath 값을 탐색했는데 값이 있습니다.

$(MSBuildExtensionsPath32)\Microsoft.Cpp\v4.0\

여기서 어디로 가야할지 모르겠습니다. 어떤 제안?


Gavin Pugh가 제공 한 솔루션이 문제를 해결할 수 있다는 것이 합리적으로 보입니다. VS11의 개발자 미리보기를 제거한 후에도이 문제가 발생했습니다. 나는 내가 정말로 잘못된 것이 무엇인지 알고 있다고 생각한다.

Mladen Jankovic은 올바른 길을 가고있었습니다. 다음 두 가지 (필요한) 레지스트리 키 중 하나가 내 컴퓨터에 없습니다.

  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\4.0
    • 키 이름 : VCTargetsPath
    • 유형: REG_SZ
    • 값: $(MSBuildExtensionsPath32)\Microsoft.Cpp\v4.0\
  • HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\MSBuild\ToolsVersions\4.0
    • 키 이름 : VCTargetsPath
    • 유형: REG_SZ
    • 값: $(MSBuildExtensionsPath32)\Microsoft.Cpp\v4.0\

(Windows에서 여기에 이미지 설명 입력+ R + regedit + Enter를 입력하여 레지스트리 키를 편집 할 수 있습니다. )

나를 위해 위에 나열된 두 번째 값은 누락 된 값이었습니다. 추가 한 후 다시 프로젝트 작업을 할 수있었습니다.


나를 속인 것은 다음과 같습니다.

에있는 레지스트리 값 DefaultToolsVersionHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\4.0에서 2.0으로 변경하십시오 4.0. 같은 일도 Wow6432Node하세요.


"Mladen Jankovic"이 제안한 레지스트리 편집 방법이 저에게 적합하지 않았습니다.

방금 Visual Studio 2010에서 복구를 실행했습니다 (VS2010 설치 디스크에서 setup.exe를 실행하거나 제어판-> 프로그램을 통해 '제거'를 호출). 그것은 나를 위해 속임수를 썼습니다.

또한 SP1 설치를 다시 실행해야합니다.

그만한 가치가 있기 때문에, 내 '추가 기능'(Incredibuild 포함)이 이후에 잘 작동했습니다. 다시 설치하거나 수리 할 필요가 없었습니다. 내 설정 / 창 / 디버거 배치도 유지되었습니다.

이 문제는 VS11의 개발자 미리보기를 제거하는 경우에만 나타납니다 : http://www.gamefromscratch.com/post/2011/12/15/Do-not-remove-Visual-Studio-2011-developer-preview! aspx


Google 검색으로 여기있는 사람들을 위해 :

이전에 vs2010 이후에 VS 2015 또는 이후 버전의 vs를 설치 한 다음 제거한 경우 여기에 해결책이 있습니다.

아래 오류 메시지에서 :

속성 식 "$ ([MSBuild] :: ValueOrDefault ( '$ (VCTargetsPath)', '$ (MSBuildExtensionsPath32) \ Microsoft.Cpp \ v4.0 \ V140 \'))"를 평가할 수 없습니다.

14.0은 VS2015의 버전 번호입니다. 불행히도 VS2015 / 2012 제거 프로그램은 레지스트리 키 중 하나를 잊어 버려 VS2010으로 돌아갈 때 해당 오류가 발생합니다.

시작 / 실행 / regedit로 이동>

HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ MSBuild \ ToolsVersions \ 14.0 (12.0 포함)을 찾습니다.

HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ MSBuild \ ToolsVersions \ 14.0 (12.0도 포함)

여기에 14.0 / 12.0 키가있는 경우 삭제 하면 VS2010이 다시 작동합니다.


우연히 같은 오류 메시지를주지 않았던 이것에 대한 답을 마침내 찾았습니다.

오류 MSB4019 : 가져온 프로젝트 "C : \ Microsoft.Cpp.Default.props"를 찾을 수 없습니다. 선언의 경로가 올바른지, 파일이 디스크에 있는지 확인하십시오.

어떤 이유로 32 비트 빌드에서는 제대로 작동했지만 64 비트 빌드에서는 제대로 작동하지 않았습니다.

어쨌든 해결책은 모든 VCTargetPath*키를 HKLM\SOFTWARE\Wow6432Node\Microsoft\MSBuild ToolsVersions\14.0에서 HKLM\SOFTWARE\Microsoft\MSBuild\ToolsVersions\14.0. 그들은 나를 위해 누락되었습니다.

Actually I only copied VCTargetsPath and VCTargestPath14 because copying is quite tedious. Seems to be sufficient for VC++ 2015.


If working with VS 2010 SP1, go to Control Panel | Uninstall a program, Uninstall/Change the VS 2010 SP1 and pick reapply SP1. It worked for me.


I've been having this same issue, and found out that the toolset tag was not set in the project node

Setting the tools version solved it for me


I used C:\Windows\SysWOW64\regedit.exe and went to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\3.5 and in the folder for version 3.5 it had 2.0 listed in the defaulttoolsversion so I modified that to 3.5 and everything works now.


C ++ Visual Studio 빌드 도구를 설치하지 않고 C ++ 프로젝트를 빌드하려고 할 때 여기에 도착했습니다. 내 솔루션은 'Visual Studio 2017 용 도구'탭 아래 다운로드 페이지 에서 Visual Studio 빌드 도구 설치 프로그램을 다운로드 하고 "Visual C ++ 빌드 도구"및 ".NET 데스크톱 빌드 도구"옵션을 사용하여 설치 프로그램을 실행하는 것이 었습니다.

참조 URL : https://stackoverflow.com/questions/8497931/msbuild-does-not-contain-a-value-for-the-vctargetspath-property

반응형