"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

Мне потребовалось два часа, чтобы решить эту проблему, но я наконец-то закончил.

Следующее решило мою проблему:

  1. Запустите это в командной строке с повышенными npm install --global --production windows-build-tools (admin): npm install --global --production windows-build-tools. Если у вас нет npm, я рекомендую установить его, иначе это не сработает.
  2. Смените владельца в установочном каталоге (в моем случае C:\Program Files (x86)\MSBuild\14.0) на вашего пользователя, а не на администратора. (Свойства> Безопасность> Дополнительно).

Ответ 2

Эти шаги решили мою проблему:

  1. Запустите npm install --global --production windows-build-tools
  2. Запустите npm install --save nan
  3. Задайте VCTargetsPath переменной среды VCTargetsPath значение C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140

Ответ 3

Я недавно переустанавливал Visual studio 2017 и столкнулся с этой проблемой при попытке установить "npm java". Исправление для меня:

  1. установить версию MS на 2017: npm config set msvs_version 2017
  2. установите для переменной среды VCTargetsPath значение C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\Common7\IDE\VC\VCTargets
  3. запустить командную консоль как системный администратор

Ответ 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

Я решил это путем:

  1. Задайте VCTargetsPath переменной среды VCTargetsPath значение C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140
  2. построить с помощью администратора

Ответ 6

Я пробовал установить npm и VCTargetsPath, все не работает. Окончательно решено после него после обновления visual studio до последней версии.

Ответ 7

Решено путем установки Visual Studio Express 2015 для Windows 10.