嗨,我正在尝试运行 Nant,但是当我尝试构建时不断收到此错误
无法初始化“Microsoft .NET Framework 3.5”目标框架属性评估失败表达式:$> 属性“sdkInstallRoot”尚未设置
我之前运行的 .Net 框架 4.0 是 3.5;有解决方法吗?我需要做什么?
嗨,我正在尝试运行 Nant,但是当我尝试构建时不断收到此错误
无法初始化“Microsoft .NET Framework 3.5”目标框架属性评估失败表达式:$> 属性“sdkInstallRoot”尚未设置
我之前运行的 .Net 框架 4.0 是 3.5;有解决方法吗?我需要做什么?
这是一个 NAnt 配置问题 - 对于目标框架“net-3.5”,正在从不存在的注册表项中读取“sdkInstallRoot”属性。
详细信息可能因您的服务器及其配置而异,但通常您需要 a) 确保在您的服务器上安装了适当的 .NET 和 Windows SDK,以及 b) NAnt.exe.config 正确引用注册表。
在您的配置文件中查找<framework>
名称为“net-3.5”的部分。在该元素内部,还有一个名为 的元素<project>
。它定义了属性installRoot
和问题sdkInstallRoot
。0.86 版不使用适用于 Vista 和更高版本操作系统的注册表项。实际的 SDK 安装文件夹密钥可能是几个名称之一 - 用于regedit.exe
查找。
例如,在我的机器上,sdkInstallRoot 定义为:
<readregistry
property="sdkInstallRoot"
key="SOFTWARE\Microsoft\Microsoft SDKs\Windows\v7.0A\WinSDK\InstallationFolder"
hive="LocalMachine"
failonerror="false" />
验证命名的注册表项是否存在,如果不存在,请更正您的配置文件。那应该可以解决您的问题!
也许你试试最新版本的 NAnt。当前版本是 0.91-alpha2(2010 年 8 月 17 日)。如发行说明所述,0.91-alpha1(2010 年 5 月 29 日)中添加了对 .NET 4.0 的支持。不用担心 alpha 状态。我们在生产环境中使用这个版本没有任何问题。