您好我正在尝试运行Nant,但在我尝试构建
时仍然遇到此错误无法初始化“Microsoft .NET Framework 3.5”目标框架 物业评估失败 表达:$> 属性'sdkInstallRoot'尚未设置
我之前运行的.Net framework 4.0是3.5;有没有解决这个问题?我需要做什么?
答案 0 :(得分:3)
这是一个NAnt配置问题 - 对于目标框架“net-3.5”,正在从不存在的注册表项中读取“sdkInstallRoot”属性。
详细信息可能因服务器及其配置而异,但一般情况下,您需要a)确保服务器上安装了相应的.NET和Windows SDK,并且b)NAnt.exe.config正确引用登记处。
在配置文件中查找名为“net-3.5”的<framework>
部分。在该元素内部,还有另一个名为<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" />
验证注册表项是否存在,如果不存在,请更正配置文件。那个应该解决你的问题!
答案 1 :(得分:1)
也许你试试最新版本的NAnt。当前版本为0.91-alpha2(2010年8月17日)。作为release notes状态,在0.91-alpha1(2010年5月29日)中添加了对.NET 4.0的支持。不要担心alpha状态。我们在生产环境中使用此版本没有任何问题。