49

Niedawno zainstalowałem program Visual Studio 11 Developer Preview, aby go wypróbować, a teraz moje projekty VS 2010 nie zostaną otwarte. Zamiast tego, pojawia się następujący komunikat o błędzie:MSBuild nie zawiera wartości dla właściwości "VCTargetsPath"

MSBuild nie zawierają wartości dla „VCTargetsPath” własność

znalazłem kogoś, który zgłosił problem here on Connect i odpowiedzi z Microsoft został:

Wysłany przez Microsoft na 12/2/2011 na 5:25 PM
Hi Afshin,

Dzięki za opinie. Problem, który napotkano, został naprawiony dla następnej publicznej wersji programu Visual Studio.

Jim Griesmer
Visual C++ zespołu

Fantastic. Jak więc przywrócić VCTargetsPath, aby moje projekty znów działały?

"VCTargetsPath jest właściwością zestaw narzędzi, który jest zdefiniowany w HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ MSBuild \ ToolsVersions \ 4,0".

przeglądałem wartości VCTargetPath w rejestrze i ma wartość:

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

Nie wiesz, dokąd się udać. Jakieś sugestie?

+1

Te wersje podglądu mają jakość niższą niż alpha. Nigdy nie instaluj niczego poza RTM na maszynie produkcyjnej, chyba że używasz maszyny wirtualnej. Napraw VS2010, zainstaluj ponownie. –

+1

Dzieje się tak również w podglądzie klienta, nie tylko w tych "pre-pre-alphas", o których wspominasz. – gparent

Odpowiedz

5

Oto rzeczy, które robił sztuczki dla mnie:

Zmień wartość rejestru o nazwie DefaultToolsVersion zlokalizowany w HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\4.0 z 2.0 do 4.0. Zrób to samo również w Wow6432Node.

4

Metoda edycji rejestru zaproponowana przez "Mladen Jankovic" nie sprawdziła się u mnie.

Właśnie przeprowadziłem naprawę w Visual Studio 2010 (uruchom plik setup.exe na dysku instalacyjnym VS2010 lub uruchom "odinstaluj" za pomocą Panelu sterowania-> Programy). Zrobiło to dla mnie.

Powinieneś również ponownie uruchomić instalację dodatku SP1.

Za to, co warto, moje "dodatki" (w tym Incredibuild) zachowywały się dobrze po tym. Nie trzeba ich instalować ani naprawiać. Moje ustawienia/okno/debugger również zostało zachowane.

Najwyraźniej kwestia ta przedstawia się tylko wtedy, gdy odinstalować Developer Preview z VS11: http://www.gamefromscratch.com/post/2011/12/15/Do-not-remove-Visual-Studio-2011-developer-preview!.aspx

65

wydaje się rozsądne, że rozwiązanie Gavin Pugh dał by rozwiązać ten problem, chociaż nie spróbować. Też wpadłem na ten problem po odinstalowaniu Podglądu programisty VS11. Myślę, że wiem, co jest naprawdę złe.

Mladen Jankovic był na dobrej drodze.Jednym z następnych dwóch przycisków (konieczne) rejestru brakowało na moim komputerze:

  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\4.0
    • Key Nazwa: VCTargetsPath
    • Rodzaj: REG_SZ
    • Wartość: $(MSBuildExtensionsPath32)\Microsoft.Cpp\v4.0\
  • HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\MSBuild\ToolsVersions\4.0
    • Key Nazwa: VCTargetsPath
    • Typ: REG_SZ
    • Wartość: $(MSBuildExtensionsPath32)\Microsoft.Cpp\v4.0\

(można edytować klucze rejestru w systemie Windows, wpisując enter image description here + R + regedit + Enter)

Dla mnie druga wartość, którą wymieniłem powyżej, była tą, której brakowało. Po dodaniu go mogłem ponownie pracować z moim projektem.

+2

Pracował również dla mnie. Brak drugiego klucza (Wow6432Node) po odinstalowaniu CTP VS11 w systemie x64. –

0

W przypadku pracy z VS 2010 SP1 przejdź do Panel sterowania | Odinstaluj program, Odinstaluj/zmień VS 2010 SP1 i wybierz ponownie zainstaluj dodatek SP1. To zadziałało dla mnie.

0

miewam ten sam problem i okazało się, że tag zestaw narzędzi nie został ustawiony w węźle projektu

Ustawianie wersja narzędzia rozwiązać go dla mnie

+0

W jaki sposób ustawiłeś wersję narzędzia? –

+0

To rozwiązało problem dla mnie. @limelights, możesz ustawić wersję narzędzia we właściwościach projektu. Na stronach właściwości sprawdź opcje Właściwości konfiguracji> Ogólne> Zestaw narzędzi platformy. Możesz to również zrobić w swoim ulubionym edytorze tekstu, ale musisz znać te wartości. –

0

użyłem C : \ Windows \ SysWOW64 \ regedit.exe i trafił do HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ MSBuild \ 3.5, aw folderze dla wersji 3.5 miał 2.0 wymieniony w defaulttoolsversion, więc zmodyfikowałem go do 3.5 i wszystko działa teraz.

1

Dla tych, którzy są tu przez google:

Jeśli wcześniej zainstalowany VS 2015 lub nowszej wersji vs po VS2010, a następnie odinstalować, Oto rozwiązanie dla Ciebie.

w komunikacie o błędzie poniżej:

nie może ocenić ekspresję nieruchomości „$ ([MSBuild] :: ValueOrDefault ('$ (VCTargetsPath)', '$ (MSBuildExtensionsPath32) \ Microsoft.Cpp \ v4 .0 \ V140 \ ')) "

14,0 to numer wersji VS2015. Niestety, deinstalator VS2015/2012 zapomina o jednym z kluczy rejestru, który następnie powoduje błąd po powrocie do VS2010.

przejdź do Start/Uruchom/regedit>

Look dla HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ MSBuild \ ToolsVersions \ (oraz 12,0)

I

HKEY_LOCAL_MACHINE \ SOFTWARE 14,0 \ Wow6432Node \ Microsoft \ MSBuild \ ToolsWersions \ 14.0 (12.0 także)

Jeśli istnieje klucz 14.0/12.0 tutaj, usunąć to i twój VS2010, mam nadzieję, znów zadziała.

1

Fuj końcu znalazłem odpowiedź na to, co nawiasem mówiąc nie dał mi ten sam błąd - mam:

błąd MSB4019: Importowany projekt „C: \ Microsoft.Cpp.Default. rekwizyty "nie znaleziono. Potwierdź, że ścieżka w deklaracji jest poprawna, a plik istnieje na dysku.

Z jakiegoś powodu działało dobrze z kompilacjami 32-bitowymi, ale nie z 64-bitowymi kompilacjami.

W każdym razie rozwiązaniem jest skopiowanie wszystkich kluczy VCTargetPath* z HKLM\SOFTWARE\Wow6432Node\Microsoft\MSBuild ToolsVersions\14.0 na HKLM\SOFTWARE\Microsoft\MSBuild\ToolsVersions\14.0. Oni za mną tęsknili.

Właściwie skopiowałem tylko VCTargetsPath i VCTargestPath14, ponieważ kopiowanie jest dość uciążliwe. Wydaje się wystarczające dla VC++ 2015.

Powiązane problemy