Подтвердить что ты не робот

MSBuild не содержит значения свойства VCTargetsPath.

Недавно я установил Visual Studio 11 Developer Preview, чтобы попробовать, и теперь мои проекты VS 2010 не будут открываться. Вместо этого появляется следующее сообщение об ошибке:

MSBuild не содержит значения свойства "VCTargetsPath"

Я нашел человека, который сообщил об ошибке здесь, на Connect, и ответ от Microsoft:

Отправленный Microsoft в 12/2/2011 в 17:25
Привет Афшин,

Спасибо за отзывы. Проблема, с которой вы столкнулись, исправлена ​​для следующего открытого релиза Visual Studio.

Джим Грисмер
Команда Visual С++

Фантастические. Итак, как мне восстановить VCTargetsPath, чтобы мои проекты снова работали?

"VCTargetsPath - это свойство набора инструментов, которое определено в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\4.0.

Я просмотрел значение VCTargetPath в реестре и получил значение:

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

Не уверен, куда идти отсюда. Любые предложения?

4b9b3361

Ответ 1

Кажется разумным, что решение Gavin Pugh дало бы проблему, хотя я этого не делал. Я также столкнулся с этой проблемой после удаления Developer Preview для VS11. Я думаю, что знаю, что действительно неправильно.

Младен Янкович был на правильном пути. Один из следующих двух (необходимых) ключей реестра отсутствовал на моей машине:

  • 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, набрав enter image description here + R + regedit + Enter)

Для меня второе значение, указанное выше, было тем, что отсутствовало. После того, как я добавил его, я снова смог работать с моим проектом.

Ответ 2

Вот что я сделал для меня:

Измените значение реестра с именем DefaultToolsVersion, расположенным в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\4.0 от 2.0 до 4.0. Сделайте то же самое и в Wow6432Node.

Ответ 3

Метод редактирования реестра, предложенный "Младеном Янковичем", не работал у меня.

Я только что проверил ремонт в Visual Studio 2010 (запустите setup.exe на установочном диске VS2010 или вызовите "удалить" через Панель управления → Программы). Это помогло.

Вам также нужно снова запустить SP1.

Для чего это стоит, мои "надстройки" (включая Incredibuild) вели себя хорошо после этого. Их не нужно было переустанавливать или ремонтировать. Мои настройки/расположение окна/отладчика также были сохранены.

Очевидно, эта проблема возникает только в том случае, если вы удалите Предварительный просмотр разработчика VS11: http://www.gamefromscratch.com/post/2011/12/15/Do-not-remove-Visual-Studio-2011-developer-preview!.aspx

Ответ 4

Для тех, кто находится здесь: google search:

Если вы ранее устанавливали VS 2015 или любые более поздние версии vs после vs2010, а затем удаляли, вот решение для вас.

В сообщении об ошибке ниже:

Невозможно оценить выражение свойства "$ ([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, надеюсь, снова будет работать.

Ответ 5

Ugh Я наконец нашел ответ для этого, который, кстати, не дал мне то же сообщение об ошибке - я получаю:

ошибка MSB4019: импортированный проект "C:\Microsoft.Cpp.Default.props" не найден. Убедитесь, что путь в объявлении правильный, и что файл существует на диске.

По какой-то причине он отлично справился с 32-битными сборками, но не с 64-битными сборками.

В любом случае, решение состоит в том, чтобы скопировать все клавиши VCTargetPath* с HKLM\SOFTWARE\Wow6432Node\Microsoft\MSBuild ToolsVersions\14.0 на HKLM\SOFTWARE\Microsoft\MSBuild\ToolsVersions\14.0. Они пропали без вести.

На самом деле я только скопировал VCTargetsPath и VCTargestPath14, потому что копирование довольно утомительно. Кажется, этого достаточно для VС++ 2015.

Ответ 6

Если вы работаете с VS 2010 SP1, перейдите в Панель управления | Удалите программу, удалите/измените VS 2010 SP1 и выберите повторный набор SP1. Это сработало для меня.

Ответ 7

У меня была такая же проблема, и выяснилось, что тег набора инструментов не был установлен в проекте node

Настройка версии инструментов разрешила для меня

Ответ 8

Я использовал C:\Windows\SysWOW64\regedit.exe и перешел на HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\3.5, а в папке для версии 3.5 у него было 2.0, указанное в defaulttoolsversion, поэтому я изменил это на 3.5, и все работает Теперь.