2010-07-16 6 views
10

J'ai rencontré un problème lors de la migration vers .net 4.0 qui a généré l'erreur suivante lors de la création.Fichier LC.exe introuvable lors de la génération pour .NET 4

C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1917,9): 
    error MSB3086: Task could not find "LC.exe" using the SdkToolsPath "" or the 
    registry key "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v7.0A". 

Make sure the SdkToolsPath is set and the tool exists in the correct processor 
specific location under the SdkToolsPath and that the Microsoft Windows SDK is 
installed 

External Program Failed: C:\windows\microsoft.net\framework\v4.0.30319\MSBuild.exe 
(return code was 1) 

La dernière version de Microsoft Windows sdk est installé sur la machine, mais la version est v7.1. Pour résoudre le problème que je mets le point suivant la clé de Registre à

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v7.0A\InstallationFolder 
to C:\Program Files\Microsoft SDKs\Windows\v7.1\. 

Cela a fonctionné mais je me sens un peu sale au sujet pointant la clé de Registre de 7.0A à l'installation 7.1. Quelqu'un at-il une meilleure solution à ce problème?

+0

duplication possible de [MSBuild sur TeamCity Server ne peut pas trouver AL.exe] (http://stackoverflow.com/questions/2986440/msbuild-on-teamcity-server-cant-find-al-exe) –

+0

I juste couru à travers le même problème. Il y a beaucoup de solutions de rechange sur le Web, mais je ne trouve pas de solution non plus. Il semblerait que lorsque l'on installe la version 7.1 du SDK Windows après l'installation de VS 2010, les chemins appropriés ne sont pas mis à jour pour pointer vers le nouveau répertoire. – JonnyBoats

Répondre

3

Jetez un oeil à: Running MSBuild fails to read SDKToolsPath

Dans l'une des réponses Simmo suggéraient Seting la version par défaut du SDK être 7.1. La version 7.1 du Kit de développement Windows est plus récente que la version fournie avec Visual Studio 2010 (qui est 7.0a). LC.exe est inclus avec 7.1 et une fois que vous utilisez WindowsSdkVer.exe pour faire la version 7.1 par défaut, tout fonctionne bien.

Deux petites bizarreries cependant: 1) WindowsSdkVer.exe vous permet de choisir parmi VS 2005 et VS 2008, mais il ne liste pas VS 2010. J'ai simplement mis la version par défaut pour VS 2008 et il a travaillé en 2010.

2) WindowsSdkVer.exe -version: v7.1 ne fonctionnait pas pour moi mais WindowsSdkVer.exe sans aucun argument, il a fait apparaître une interface Windows.

2

Je viens d'avoir ce problème et il a été parce que notre serveur de build utilise VS 2010 pour construire et j'avais ouvert Modifiés ma solution dans VS 2015.

tête de Le fichier .sln est passé de:

Microsoft Visual Studio Solution File, Format Version 11.00 
# Visual Studio 2010 

à

Apparemment, cela suffit
Microsoft Visual Studio Solution File, Format Version 12.00 
# Visual Studio 14 
VisualStudioVersion = 14.0.24720.0 
MinimumVisualStudioVersion = 10.0.40219.1 

pour faire TFS (2010 et en utilisant Visual studio 2010) de vouloir chercher une version ultérieure des outils sdk (qui ne sont pas installés, dans ce cas, v 8.0A).

La définition de l'en-tête dans le fichier * .sln sur la version VS 2010 a résolu mon problème.

Questions connexes