Windows SDK variable de Registre non trouvé

Je ne peux pas construire mon projet dans Visual Studio 2012. L'erreur est:

1>C:Program fichiers (x86)MSBuildMicrosoft.Cppv4.0V110Microsoft.CppBuild.cibles(344,5): avertissement MSB8003: impossible de trouver WindowsSDKDir variable à partir du registre. TargetFrameworkVersion ou PlatformToolset peuvent être définis à un numéro de version invalide."

j'ai installé Windows SDK, et ont essayé de réinstaller et de réparation, et ont même essayé d'entrer dans le registre clés de la chaîne de "WindowsSDKDir" dans le registre. (HKLM/SOFTWARE/Wow6432Node/Microsoft/Microsoft SDKs / v7.1 avec valeur C:Program fichiersMicrosoft SDKsWindowsv7.1).`

Est-ce un problème de registre, ou quelque chose d'autre? J'ai essayé de chercher ces clés de registre et de réinstaller mon SDK Windows, mais ni l'un ni l'autre n'a aidé.

20
demandé sur Christian Stewart 2014-03-05 08:56:49

11 réponses

j'essayais de trouver un script à compiler pour la bibliothèque Script Hook V - GTA.net.

j'ai passé 2 heures à essayer de comprendre pourquoi ça ne marcherait pas. Voici comment je l'ai obtenu pour construire:

j'ai cliqué avec le bouton droit sur le projet et les propriétés sélectionnées:

Step1

Sous Propriétés De Configuration -> Général -> Plate-Forme D'Outils

j'ai sélectionné le dropdown et le seul autre disponible

(Pour moi, c' was Visual Studio 2013-Windows XP (v120_xp))

Platform Toolset

après cela, j'ai pu piloter ma voiture normalement:

Weeee

Espérons que cela aide quelqu'un d'autre essaie de faire la même chose.

12
répondu user1274820 2015-05-22 15:14:33

J'ai eu le même problème avec Visual Studio 2013 ( aucun Service-Pack installé ). Apparemment, lors de l'installation, il a besoin d'une connexion Internet active ou le SDK-path peut manquer.

il suffit d'aller dans votre panneau de configuration / Programmes / Programmes & fonctionnalités - et sélectionnez "Microsoft Visual Studio xxx 2013", clic droit-modifier puis "réparer". Cela prendra quelques minutes, mais après le sdk-path est correct.

10
répondu kalmiya 2014-08-23 20:56:45

j'ai eu ce problème récemment en essayant d'installer certains noeuds.js paquets! J' enfin corrigé en ajoutant le chemin correct à la variable de registre!

la façon la plus simple de le corriger est de le configurer avec un script simple.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows]
"CurrentInstallFolder"="C:\Program Files (x86)\Windows Kits\8.1\"

cela devrait le corriger pour tous les utilisateurs Windows 8.1 64 bits, mais si vous avez votre SDK Windows installé dans un autre répertoire, remplacez simplement C:\Program Files (x86)\Windows Kits.1 avec votre répertoire respectif. Voici quelques endroits où vous pouvez à essayer:

  • C:\Program fichiers (x86)\Kits Windows
  • C:\Program fichiers (x86)\Microsoft SDKs\Windows
  • C:\Program fichiers (x86)\Microsoft\Microsoft SDKs\Windows

Remarque: assurez-vous d'ajouter la version à la fin du chemin d'accès; par exemple, 8.1 à la fin de mon chemin. En gros, vous devez obtenir le chemin complet vers le SDK Windows et juste le dossier contenant le dossier principal(s) pour la Windows SDK.

8
répondu CoolOppo 2016-08-28 05:00:29

comme L'a souligné Parvez, nouveau projet C++, puis " Install Windows XP support for C++"

enter image description here

4
répondu osexp2003 2015-12-18 15:29:15

essayez D'invoquer SetEnv.cmd manuellement dans votre invite de commande:

call "C:\Program Files\Microsoft SDKs\Windows\v7.1\bin\Setenv.cmd" /Release /x86

OU

call "C:\Program Files\Microsoft SDKs\Windows\v7.1\bin\Setenv.cmd" /Release /x64
3
répondu Ruslan 2015-11-12 09:13:19

installation de Windows SDK v8.Je l'ai résolu pour moi.

2
répondu James Vespa 2014-09-15 15:47:38

Pour moi-même fonctionne comme ça:

Vérifier la valeur dans "votre".vcxproj <PlatformToolset>"some version"</PlatformToolset>

je sais que c'est étrange, mais:

j'ai installé VC2012 et VC2010 et j'ai compilé le projet de 2012 en 2010 avec la boîte à outils "v110".

2
répondu Lesanus 2015-01-08 20:07:07

j'obtenais l'erreur mentionnée ci-dessous quand j'ai essayé d'installer le pilote oracle pour nodejs à l'aide de npm install oracledb. J'ai Windows 7.1 SP1 et J'ai installé Visual Studio 2015 community edition.

C:\Program Dossiers (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppBuild.cibles(366,5): avertissement MSB8003: Je n'ai pas trouvé la variable WindowsSDKDir registre. TargetFrameworkVersion ou PlatformToolset peut être réglé sur la version non valide nombre.

installation du compilateur VC++ comme mentionné ici résolu le problème pour moi. Pour la référence est ici l'action à faire.

vous devez lancer Visual studio, puis do: file > new > project, in la fenêtre ouverte, sélectionnez " Model > Visual C++" et au milieu de la fenêtre, vous devriez voir un bouton "installer microsoft C++" ou quelque chose comme ça, cliquez dessus et il lancera l'installation processus pour le C++ et Microsoft SDK. Une fois cela fait, il fonctionnera comme prévu !

1
répondu Parvez 2015-12-01 08:10:16

j'ai été confrontée au même problème.

installation de Windows SDK v8.Je l'ai résolu pour moi.

https://msdn.microsoft.com/en-us/windows/desktop/bg162891.aspx

1
répondu Pawan Agrawal 2015-12-08 07:30:56

j'ai eu le même problème avec VS2012. J'ai fait installer 2013 et 2012 sur ma machine et j'ai éprouvé le problème après avoir désinstallé VS2013 (que je n'utilisais plus en raison d'une licence expirée).

les clés de registre liées ci-dessus ne m'ont pas aidé. À mon avis, indépendamment de votre version VS, la façon la plus sûre d'y remédier est de localiser le fichier batch que VS utilise pour charger ces macros, ce qui semble être VCVarsQueryRegistry.chauve-sourisC:\Program Dossiers (x86)\Microsoft Visual Studio [YOUR_VERSION].0\Common7\Tools.

rechercher la variable VS indique qu'elle n'est pas définie. Vous pourriez alors trouver un morceau comme:

@set WindowsSdkDir=
@call :GetWindowsSdkDirHelper32 HKLM > nul 2>&1
@if errorlevel 1 call :GetWindowsSdkDirHelper32 HKCU > nul 2>&1
@if errorlevel 1 call :GetWindowsSdkDirHelper64 HKLM > nul 2>&1
@if errorlevel 1 call :GetWindowsSdkDirHelper64 HKCU > nul 2>&1
@exit /B 0

:GetWindowsSdkDirHelper32
@for /F "tokens=1,2*" %%i in ('reg query "%1\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v8.0" /v "InstallationFolder"') DO (
    @if "%%i"=="InstallationFolder" (
        @SET "WindowsSdkDir=%%k"
    )
)
@if "%WindowsSdkDir%"=="" exit /B 1
@exit /B 0

:GetWindowsSdkDirHelper64
@for /F "tokens=1,2*" %%i in ('reg query "%1\SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows\v8.0" /v "InstallationFolder"') DO (
    @if "%%i"=="InstallationFolder" (
        @SET "WindowsSdkDir=%%k"
    )
)

ce qui indique clairement que WindowsSdkDir dans un système 64bit est défini par la valeur de Registre SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows\v8.0\InstallationFolderHKEY_CURRENT_USER ou HKEY_LOCAL_MACHINE selon votre configuration.

1
répondu Neenster 2016-01-20 13:47:07

ajout de mes observations d'un problème similaire signalant la même erreur....

si les SDK nécessaires sont installés, mais que le problème persiste, essayez de basculer le Ensemble D'Outils De Plate-Forme dans le cadre du projet Général propriétés de configuration. Par exemple, j'ai changé Visual Studio 2013 (v120)Visual Studio 2015 (v140). Après l'application, j'ai repris les Ensemble D'Outils De Plate-Forme retour Visual Studio 2013 (v120) qui a corrigé le problème des disparus WindowsSDKDir paramètre.

sur un autre poste de travail où le projet fonctionne, VS2012 est installé. Le nouveau poste de travail sans VS2012 se plaint de l'absence WindowsSDKDir réglage; bien que, le Ensemble D'Outils De Plate-Forme affichage des paramètres Visual Studio 2013 (v120)

0
répondu bvj 2018-04-23 01:30:21