49

Recentemente ho installato Visual Studio 11 Developer Preview per provarlo e ora i miei progetti VS 2010 non si apriranno. Invece, ottengo il seguente messaggio di errore:MSBuild non contiene un valore per la proprietà "VCTargetsPath"

MSBuild non contiene un valore per il "VCTargetsPath" proprietà

ho trovato qualcuno che aveva riportato la questione here on Connect, e la risposta di Microsoft è stata:

Pubblicato da Microsoft il 2011/12/02 alle 17:25
Hi Afshin,

Grazie per il feedback. Il problema che hai riscontrato è stato risolto per la prossima versione pubblica di Visual Studio.

Jim Griesmer
Visual C++ squadra

Fantastic. Quindi, come posso ripristinare VCTargetsPath in modo che i miei progetti funzionino di nuovo?

"VCTargetsPath è una proprietà set di strumenti che è definita in HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ MSBuild \ ToolsVersions \ 4.0."

ho passato in rassegna al valore VCTargetPath nel Registro di sistema ed ha il valore:

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

Non so da dove andare. Eventuali suggerimenti?

+1

Queste edizioni di anteprima sono inferiori alla qualità alfa. Non installare mai nulla tranne RTM su una macchina di produzione a meno che non si utilizzi una VM. Riparare VS2010, reinstallare di nuovo. –

+1

Questo succede anche con l'anteprima cliente, non solo quelle "pre-pre-alpha" che menzioni. – gparent

risposta

5

Ecco la cosa che ha fatto trucco per me:

valore di modifica del Registro di nome DefaultToolsVersion situato in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\4.02.0-4.0. Fai la stessa cosa anche con Wow6432Node.

4

Il metodo di modifica del registro suggerito da "Mladen Jankovic" non ha funzionato per me.

Ho appena eseguito una riparazione su Visual Studio 2010 (eseguire setup.exe sul disco di installazione di VS2010 o richiamare la "disinstallazione" tramite Pannello di controllo-> Programmi). Ha fatto il trucco per me.

È inoltre necessario eseguire nuovamente l'installazione di SP1.

Per quello che vale, i miei "componenti aggiuntivi" (incluso Incredibuild) si sono comportati bene dopo questo. Non hanno bisogno di essere reinstallati o riparati. Anche il posizionamento delle mie impostazioni/finestra/debugger è stato mantenuto.

Pare che questo problema presenta solo se stesso se si disinstalla la Developer Preview di VS11: http://www.gamefromscratch.com/post/2011/12/15/Do-not-remove-Visual-Studio-2011-developer-preview!.aspx

65

Sembra ragionevole che la soluzione Gavin Pugh ha dato sarebbe risolvere il problema, anche se non ho provato. Anch'io mi sono imbattuto in questo problema dopo aver disinstallato l'Anteprima sviluppatore di VS11. Penso di sapere cosa c'è di veramente sbagliato, però.

Mladen Jankovic era sulla buona strada.Una delle due chiavi seguire (necessario) di registro mancava sulla mia macchina:

  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\4.0
    • Nome chiave: VCTargetsPath
    • Tipo: REG_SZ
    • Valore: $(MSBuildExtensionsPath32)\Microsoft.Cpp\v4.0\
  • HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\MSBuild\ToolsVersions\4.0
    • Nome chiave: VCTargetsPath
    • Tipo: REG_SZ
    • Valore: $(MSBuildExtensionsPath32)\Microsoft.Cpp\v4.0\

(È possibile modificare le chiavi di registro di Windows digitando enter image description here + R + regedit + Invio)

Per me, il secondo valore che ho elencato sopra era quello che mancava. Dopo averlo aggiunto, sono riuscito a lavorare di nuovo con il mio progetto.

+2

ha funzionato anche per me. La seconda chiave (Wow6432Node) mancava dopo l'installazione di VS11 CTP sul sistema x64. –

0

Se si utilizza VS 2010 SP1, passare al pannello di controllo | Disinstallare un programma, Disinstalla/Modifica VS 2010 SP1 e selezionare Riapplicare SP1. Ha funzionato per me.

0

Ho avuto questo stesso problema, e ha scoperto che il tag set di strumenti non è stata impostata nel nodo del progetto

Impostazione della versione strumenti risolto per me

+0

Come hai impostato la versione degli strumenti? –

+0

Questo ha risolto il problema per me. @limili, è possibile impostare la versione degli strumenti nelle proprietà del progetto. Nelle pagine delle proprietà, cercare Proprietà di configurazione> Generale> Set di strumenti della piattaforma. Puoi anche farlo nel tuo editor di testo preferito, ma devi conoscere i valori. –

0

ho usato C : \ Windows \ SysWOW64 \ regedit.exe e sono passati a HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ MSBuild \ 3.5 e nella cartella per la versione 3.5 aveva 2.0 elencato in defaulttoolsversion, quindi ho modificato quello a 3.5 e tutto ora funziona.

1

per coloro che sono qui da google ricerca:

Se avete già installato VS 2015 o tutte le versioni successive di vs dopo VS2010, e poi disinstallati, ecco la soluzione per voi.

Nella seguente messaggio di errore:

Impossibile valutare l'espressione di proprietà "$ ([MSBuild] :: ValueOrDefault ('$ (VCTargetsPath)', '$ (MSBuildExtensionsPath32) \ Microsoft.Cpp \ v4 .0 \ V140 \ ')) "

14,0 è il numero di versione di VS2015. Sfortunatamente, il programma di disinstallazione di VS2015/2012 dimentica una delle sue chiavi di registro, che a sua volta causa quell'errore quando si torna a VS2010.

Vai per avviare/eseguire/regedit>

Cercare HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ MSBuild \ ToolsVersions \ 14.0 (12.0 pure)

E

HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ MSBuild \ ToolsVersions \ 14.0 (12.0)

Se qui è presente una chiave 14.0/12.0, elimina e il tuo VS2010 si spera funzionerà di nuovo.

1

Ugh ho finalmente trovato la risposta per questo, che tra l'altro non mi ha dato lo stesso messaggio di errore - ottengo:

errore MSB4019: il progetto "C importati: \ Microsoft.Cpp.Default. oggetti di scena "non è stato trovato. Confermare che il percorso nella dichiarazione è corretto e che il file esiste sul disco.

Per qualche motivo ha funzionato bene con build a 32 bit, ma non con build a 64 bit.

In ogni caso, la soluzione è copiare tutte le chiavi VCTargetPath* da HKLM\SOFTWARE\Wow6432Node\Microsoft\MSBuild ToolsVersions\14.0 a HKLM\SOFTWARE\Microsoft\MSBuild\ToolsVersions\14.0. Mancavano per me.

In realtà ho solo copiato VCTargetsPath e VCTargestPath14 perché la copia è abbastanza noioso. Sembra essere sufficiente per VC++ 2015.

Problemi correlati