Visual Studio, 2013에서 만든 프로젝트가 있습니다.
프로젝트 파일에는 다음과 같은 속성이 있습니다.
ToolsVersion = “12.0”, PlatformToolset = v120.
Visual Studio 2013 및 Microsoft Build Tools 2015가 설치되어 있습니다. 이 프로젝트는 MSBuild 12.0을 사용하여 성공적으로 빌드됩니다. MSBuild 14.0으로 빌드하려고하면 오류가 발생합니다.
MSB4019: The imported project "C:\Microsoft.Cpp.Default.props" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.
내가 이해했듯이 문제는 변수 VCTargetsPath가 평가되지 않는다는 것입니다. 빌드 전에 VCTargetsPath 변수를 지정하면 (값 C : \ Program Files (x86) \ MSBuild \ Microsoft.Cpp \ v4.0 \ V120) 문제가 해결됩니다.
그러나이 방법은 경로가 다른 경우에는 그다지 편리하지 않습니다. 어떻게 든 더 최적의 방법으로 문제를 해결할 수 있습니까?
레지스트리 키 및 해당 값 :
HKLM\Software\WOW6432Node\Microsoft\MSBuild\ToolsVersions\12.0\VCTargetsPath $([MSBuild]::ValueOrDefault('$(VCTargetsPath)','$(MSBuildExtensionsPath32)\Microsoft.Cpp\v4.0\V120\'))
답변
이 문제를 해결하는 데 2 시간이 걸렸지 만 마침내 끝났습니다.
다음은 내 문제를 해결했습니다.
- 관리자 권한 명령 프롬프트 (관리자)에서 실행 :
npm install --global --production windows-build-tools
. npm이 없으면 설치하는 것이 좋습니다. 그렇지 않으면 작동하지 않습니다. - 설치 디렉토리 (제 경우에는
C:\Program Files (x86)\MSBuild\14.0
)의 소유권 을 관리자 대신 사용자로 변경하십시오. (속성> 보안> 고급).
답변
최근에 Visual Studio 2017을 다시 설치했는데 “npm java”를 설치하는 동안이 문제가 발생했습니다. 나를위한 해결책은 다음과 같습니다.
- ms 버전을 2017로 설정합니다.
npm config set msvs_version 2017
- VCTargetsPath 환경 변수를 다음으로 설정하십시오.
C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\Common7\IDE\VC\VCTargets
- 시스템 관리자로 명령 콘솔 실행
답변
이 단계는 내 문제를 해결했습니다.
- 운영
npm install --global --production windows-build-tools
- 운영
npm install --save nan
VCTargetsPath
환경 변수를 다음으로 설정C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140
답변
위의 답변이 작동하지 않는 경우 여기에 또 다른 가능한 해결책이 있습니다.
빌드 도구 또는 VS 2015 설치조차도 작동하지 않았습니다. 그래서 PowerShell을 통해 직접 설치를 시도했습니다 (관리자)
https://chocolatey.org/packages/visualcpp-build-tools/14.0.25420.1
명령 : choco install visualcpp-build-tools –version 14.0.25420.1
이것이 설치되면 환경 변수 VCTargetsPath = C : \ Program Files (x86) \ MSBuild \ Microsoft.Cpp \ v4.0 \ v140을 설정합니다.
답변
VS 2019를 사용하는 경우 :
set VCTargetsPath = “C : \ Program Files (x86) \ Microsoft Visual Studio \ 2019 \ Professional \ MSBuild \ Microsoft \ VC \ v160”
편집 (2020 년 9 월) : 때때로 후행 백 슬래시가 필요합니다 (아래에 언급 된 bmiller 참조).
답변
나는 이것을 다음과 같이 해결했다.
VCTargetsPath
환경 변수를 다음으로 설정C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140
- 관리자를 사용하여 빌드
답변
이 페이지의 모든 제안으로 작동하도록 만들 수 없습니다.
nodejs를 10.15로 다운 그레이드했는데 제대로 작동했습니다.
아마도 최선의 대답은 아니지만 작동합니다.