0

嗨,我正在尝试运行 Nant,但是当我尝试构建时不断收到此错误

无法初始化“Microsoft .NET Framework 3.5”目标框架属性评估失败表达式:$> 属性“sdkInstallRoot”尚未设置

我之前运行的 .Net 框架 4.0 是 3.5;有解决方法吗?我需要做什么?

4

2 回答 2

3

这是一个 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" />

验证命名的注册表项是否存在,如果不存在,请更正您的配置文件。那应该可以解决您的问题!

于 2011-02-11T21:44:04.103 回答
1

也许你试试最新版本的 NAnt。当前版本是 0.91-alpha2(2010 年 8 月 17 日)。如发行说明所述,0.91-alpha1(2010 年 5 月 29 日)中添加了对 .NET 4.0 的支持。不用担心 alpha 状态。我们在生产环境中使用这个版本没有任何问题。

于 2011-02-11T20:15:41.460 回答