2010-07-16 9 views
10

Tuve un problema al migrar a .NET 4.0 que produjo el siguiente error al intentar compilar.Archivo LC.exe no encontrado durante la compilación para .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 última versión del SDK de Microsoft Windows está instalado en la máquina, pero la versión es v7.1. Para solucionar el problema pongo el siguiente punto de la clave de registro en

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

Esto funcionó sin embargo, me siento un poco sucio trata de señalar la clave de registro 7.0a a la instalación 7.1. ¿Alguien tiene una mejor solución para este problema?

+0

posible duplicado de [MSBuild en TeamCity Server no puede encontrar AL.exe] (http://stackoverflow.com/questions/2986440/msbuild-on-teamcity-server-cant-find-al-exe) –

+0

I solo encontré el mismo problema. Hay muchos problemas en la web, pero tampoco puedo encontrar una solución. Parece que cuando se instala Windows SDK versión 7.1 después de instalar VS 2010, las rutas adecuadas no se actualizan para apuntar al nuevo directorio. – JonnyBoats

Respuesta

3

Tome un vistazo a: Running MSBuild fails to read SDKToolsPath

En una de las respuestas sugeridas Simmo proponiéndose la versión predeterminada del SDK para ser 7.1. La versión 7.1 del Windows SDK es más nueva que la versión incluida con Visual Studio 2010 (que es 7.0a). LC.exe se incluye con 7.1 y una vez que usa WindowsSdkVer.exe para hacer 7.1 la versión predeterminada, todo funciona bien. sin embargo

Dos pequeñas peculiaridades: 1) WindowsSdkVer.exe le permite elegir de VS 2005 y VS 2008, pero no enumera VS 2010. Simplemente puse la versión predeterminada para VS 2008 y funcionó en 2010.

2) WindowsSdkVer.exe -version: v7.1 no funcionaba para mí, pero WindowsSdkVer.exe sin ningún argumento, abrió una interfaz de Windows.

2

acabo de tener este problema y que era porque nuestro servidor de compilación utiliza VS 2010 para construir y que se había abierto y modificado mi solución en VS 2015.

El encabezado del archivo .sln pasó de:

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

a

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

Aparentemente esto es suficiente para hacer TFS (2010 y utilizando visual Studio 2010) que desee buscar una versión posterior de las herramientas del SDK (que no se ha instalado, en este caso v 8.0A).

Configurar el encabezado en el archivo * .sln de nuevo a la versión VS 2010 resolvió mi problema.

Cuestiones relacionadas