2012-03-13 66 views
1

我在我的64位Win 7 Box上遇到NAnt出现一些奇怪的错误。Windows 7 64位NAnt - 错误setWinVer.6.1

针对.NET 2.0应用程序。我有VS 2005和VS 2010安装。

这个构建文件在Xp 32位上完美工作。

当我运行它,我得到:

C:\Apps\BLAH\nant.exe -buildfile:BC_STUFF.build BuildAndInstall "-D:SkipSandCastle=true"  
NAnt 0.85 (Build 0.85.2478.0; release; 14/10/2006) 
Copyright (C) 2001-2006 Gerry Shaw 
http://nant.sourceforge.net 

Buildfile: file:///C:/Apps/BLAH/BC_STUFF.build 
Target framework: Microsoft .NET Framework 2.0 
Target(s) specified: BuildAndInstall 

    [sysinfo] Setting system information properties under sys.* 
    [sysinfo] Property could not be created for environment variable 'CommonProgramFiles(x86)' : Property name 'sys.env.CommonProgramFiles(x86)' is invalid. 
    [sysinfo] Property could not be created for environment variable 'ProgramFiles(x86)' : Property name 'sys.env.ProgramFiles(x86)' is invalid. 
    [script] Scanning assembly "fdii67ui" for extensions. 
    [script] Scanning assembly "qv6p_-ys" for extensions. 
    [script] Scanning assembly "abosgmew" for extensions. 

winVer: 


BUILD FAILED - 0 non-fatal error(s), 2 warning(s) 

Target 'setWinVer.6.1' does not exist in this project. 

Total time: 0.7 seconds. 

如何纠正这个有什么想法?


更新

我右点击NAnt.exe,改变了它在兼容模式(Win XP的SP3)运行和它的作品,但现在它有一个很难从注册表中读取 - 这是奇怪的)。不是最好的方法,但它似乎有一些效果,将保持这种更新。

回答

1

发现查看NAnt.exe属性以与Windows XP SP3兼容的方式运行该程序是唯一不用升级即可完成此操作的方法。

1

看看你的winVer目标在做什么。它看起来像是根据Windows版本形成目标名称并调用该目标。在这种情况下,它是setWinVer.6.1,并且该目标在您的项目中不存在。

+0

感谢您的快速回复manojlds。我搜索了我们的每个构建文件,并且我还没有找到任何winVer。我也在我们的项目目录中进行了文本搜索,但没有找到任何winVer。看来这是一个南特的东西。 – 2012-03-13 20:49:59

1

一些一般建议:您正在运行超过五年的NAnt的0.85版本。我不希望这个版本在Win 7 64位等现代环境中没有任何麻烦。你绝对应该考虑切换到0.91版本,如果已经解决了你的问题,我不会感到有点惊讶。

+0

我们计划在我们删除bizTalk 2006之后进行升级,因为我们需要在此时重新编写构建脚本。 – 2012-03-14 23:23:40

0

我有同样的问题。 我设法得到它的工作通过增加在项目生成文件(.nant)线如下

<project name=""> 
<property name="" value="" /> 
<target name="setWinVer.6.1"></target>