2012-07-09 17 views
5

Medio Ambiente:NANT 0,92 SDK 7 no encontró

Windows 2008 R2 de 64 bits SDK instalado en C: \ Archivos de programa (x86) \ Microsoft SDKs \ Windows \ v7.1

marco instalado en C : \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319

intentar ejecutar Nant para compilar algunas clases de .NET 4 y nos estamos el siguiente mensaje.

The SDK for the 'net-4.0' framework is not available or not configured.: 

      NAnt.Core.BuildException: The SDK for the 'net-4.0' 
framework is not available or not configured. 
       at NAnt.Core.Tasks.ExternalProgramBase.DetermineFilePath() 
       at NAnt.Core.Tasks.ExternalProgramBase.get_ProgramFileName() 
       at 
NAnt.Core.Tasks.ExternalProgramBase.PrepareProcess(Process process) 
       at NAnt.Core.Tasks.ExternalProgramBase.StartProcess() 
       at NAnt.Core.Tasks.ExternalProgramBase.ExecuteTask() 
       at NAnt.Core.Task.Execute() 
       at NAnt.Core.Target.Execute() 
       at NAnt.Core.Project.Execute(String targetName, Boolean 
forceDependencies) 
       at NAnt.Core.Project.Execute() 
       at NAnt.Core.Project.Run() 

Al analizar el NANt.exe.config parece que se ve en el registro para encontrar el camino aplicable para el SDK.

<project> 
<readregistry 
    property="installRoot" 
     key="SOFTWARE\Microsoft\.NETFramework\InstallRoot" 
     hive="LocalMachine" /> 
<locatesdk property="sdkInstallRoot" 
minwinsdkver="v7.0A" minnetfxver="4.0" maxnetfxver="4.0.99999" 
failonerror="false" /> 
</project> 

La clave no existe en el registro ni tampoco coinciden con nuestra versión del SDK del minwinsdkver = "v7.0A"

Cualquier persona con este problema y halló una solución alternativa válida?

+0

Si las claves de registro no están allí, no es que más de un problema de instalación del SDK en lugar de Nant? –

+0

En una máquina de 64 bits, mi 7.1 SDK está instalado en: C: \ Archivos de programa \ Microsoft SDKs \ Windows \ v7.1 (no en Archivos de programa (x86)) tal vez ese es el problema? –

Respuesta

1

La solución más simple es agregar la clave al registro.

Para mí, la entrada de registro fue ligeramente diferente: en HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft.NETFramework establece sdkInstallRootv2.0 = C: \ Program Files \ Microsoft SDKs \ Windows \ v7.0A.

Después de esto Nant compiló bien como se esperaba.

0

Me encontré con este problema ayer. Otra solución consiste en marcar el ejecutable NAnt como de 32 bits.

  1. Abrir un comando del símbolo del desarrollador
  2. Cambie al directorio que contiene el ejecutable de NAnt.
  3. ejecute el siguiente comando: corflags NAnt.exe/32Bit +
Cuestiones relacionadas