找不到NANT 0.92 SDK 7

时间:2012-07-09 16:35:57

标签: nant

环境:

Windows 2008 R2 64Bit SDK安装在 C:\ Program Files(x86)\ Microsoft SDKs \ Windows \ v7.1

安装在 C:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319

的框架

尝试运行Nant来编译一些.NET 4类,我们正在努力 以下信息。

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()

在查看NANt.exe.config时,它看起来似乎是 注册表以查找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>

密钥在注册表中不存在,我们的SDK版本也不匹配minwinsdkver =“v7.0A”

任何人遇到此问题并找到了有效的解决方法吗?

2 个答案:

答案 0 :(得分:1)

最简单的解决方案是将密钥添加到注册表中。

对于我自己,注册表项略有不同:在HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft.NETFramework设置sdkInstallRootv2.0 = C:\ Program Files \ Microsoft SDKs \ Windows \ v7.0A。

在此之后Nant按预期编译好了。

答案 1 :(得分:0)

昨天我遇到了这个问题。另一种解决方法是将NAnt可执行文件标记为32位。

  1. 打开开发人员命令提示符
  2. 转到包含NAnt可执行文件的目录。
  3. 运行以下命令: corflags NAnt.exe / 32Bit +