我试图在CCNet上建立一些ASPNetv5构建。我加了这样一个exec块:如何在CCNet上设置dnx构建? dnu运行但“Dnx找不到”
<cb:define name="DnuPackageRestore">
<exec>
<executable>dnu</executable>
<cb:ifdef name="SourceFolder">
<baseDirectory>$(SourceFolder)</baseDirectory>
</cb:ifdef>
<cb:else>
<baseDirectory>$(WorkingPath)\$(ProjectName)</baseDirectory>
</cb:else>
<description>DNU Package Restore</description>
<buildArgs>restore</buildArgs>
</exec>
</cb:define>
一些奇怪的原因,CCNET未能在PATH .cmd文件的,所以我改变executable
从dnu
到dnu.cmd
。现在运行DNU罚款,但却立即崩溃说,它不能找到DNX:
2016-03-02 14:17:19,073 [SuperThing:DEBUG] Starting process [dnu.cmd] in working directory [D:\CI\W\SuperThing] with arguments [restore]
2016-03-02 14:17:19,076 [SuperThing:DEBUG] Not setting PriorityClass on [D:\CI\W\SuperThing\dnu.cmd] to default Normal
2016-03-02 14:17:19,091 [13:DEBUG] [SuperThing dnu.cmd] '"D:\CI\W\SuperThing\dnx"' is not recognized as an internal or external command,
2016-03-02 14:17:19,091 [13:DEBUG] [SuperThing dnu.cmd] operable program or batch file.
它声称是在寻找SuperThing
的DNX,但因为它说的dnu.cmd同样,我认为这是一个红鲱鱼。
如果我将PowerShell作为同一用户远程连入服务器,一切工作正常(我安装了dnvm,让它安装1.0.0-rc1-update1
,我跑了dnvm set default -p
)。
CCNet如何执行这个dnu.cmd
导致它失败(我的猜测是PATH在某处失去了?),看起来有些不可思议。
是否将'dnu'添加到路径中?如果没有,你可以在运行'dnu'之前运行'dnvm upgrade/install'吗? –
它是在路径 - 远程PoSh和通过RDPas登录这个用户这两个命令都正常工作。按照Andrew Nurse的建议解决问题(我曾尝试过这样做,因为我们有其他命令,但显然我没有做到这一点!) –