环境:
Windows 2008 R2 64位SDK安装在C:\Program (x86)\Microsoft \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“
有人遇到这个问题并找到了一个有效的解决办法吗?
发布于 2013-08-25 17:47:54
最简单的解决方案是将键添加到注册表中。
对我自己来说,注册表条目略有不同:在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft.NETFramework set sdkInstallRootv2.0=C:\Program Files\Microsoft \sdkInstallRootv2.0=C:\Program\v7.0A。
在此之后,南特如愿以偿地进行了编译。
发布于 2016-06-01 02:11:07
我昨天碰到了这个问题。另一个解决方法是将NAnt可执行文件标记为32位。
https://stackoverflow.com/questions/11399381
复制相似问题