"C:\Microsoft.Cpp.Default.props" не найден
У меня есть проект, созданный в 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\'))
Ответы
Ответ 1
Мне потребовалось два часа, чтобы решить эту проблему, но я наконец-то закончил.
Следующее решило мою проблему:
- Запустите это в командной строке с повышенными
npm install --global --production windows-build-tools
(admin): npm install --global --production windows-build-tools
. Если у вас нет npm, я рекомендую установить его, иначе это не сработает. - Смените владельца в установочном каталоге (в моем случае
C:\Program Files (x86)\MSBuild\14.0
) на вашего пользователя, а не на администратора. (Свойства> Безопасность> Дополнительно).
Ответ 2
Эти шаги решили мою проблему:
- Запустите
npm install --global --production windows-build-tools
- Запустите
npm install --save nan
- Задайте
VCTargetsPath
переменной среды VCTargetsPath
значение C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140
Ответ 3
Я недавно переустанавливал 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
- запустить командную консоль как системный администратор
Ответ 4
Для тех, кто ответит выше, не работает, вот другое возможное решение, чтобы посмотреть.
Даже установка инструментов сборки или 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
Ответ 5
Я решил это путем:
- Задайте
VCTargetsPath
переменной среды VCTargetsPath
значение C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140
- построить с помощью администратора
Ответ 6
Я пробовал установить npm и VCTargetsPath, все не работает. Окончательно решено после него после обновления visual studio до последней версии.
Ответ 7
Решено путем установки Visual Studio Express 2015 для Windows 10.