我試圖在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的建議解決問題(我曾嘗試過這樣做,因爲我們有其他命令,但顯然我沒有做到這一點!) –