2014-09-05 69 views
0

我有問題在Mono框架中運行nant腳本。單聲道:使用nant 0.92編譯c#

當我用mono-3.5運行nant scipt時出現這個錯誤。

enter image description here

這是我的惡性素文字。

<target name="compile-libs" depends="prepare" description="Compile the libraries"> 
     <csc target ="library" output="${bin.lib.1}/lib.dll" debug="false"> 
     <sources> 
       <include name="${src.lib.1}/${arg}/*"/> 
     </sources> 
     </csc> 
</target> 

它有什麼問題嗎?

然後,我改變使用bat文件來編譯c#。有用。但是,它只執行第一個命令,然後停止。

echo compile lib1: 
mcs /target:library /out:build\bin-lib-v1.0\lib.dll src-lib-v1.0\lib\%1\foo.cs 
echo compile lib2: 
mcs /target:library /out:build\bin-lib-v2.0\lib.dll src-lib-v2.0\lib\%1\foo.cs 

該bat文件只生成了第一個庫。它沒有回顯「編譯lib2」。

感謝先進!

回答

0

如果MCS是一個bat文件(做where mcs檢查,如果是mcs.bat),在一個bat文件,當你調用其他蝙蝠一樣

mcs /target:library /out:build\bin-lib-v1.0\lib.dll src-lib-v1.0\lib\%1\foo.cs 

當前蝙蝠停止執行,並傳遞給MCS .BAT不返回回

你應該做的:

call mcs /target:library /out:build\bin-lib-v1.0\lib.dll src-lib-v1.0\lib\%1\foo.cs 

,而不是惡性(如果你喜歡XML),只需使用的MSBuild(單聲道xbuild),也有類似的CSC任務,請http://msdn.microsoft.com/en-us/library/ms171479(v=vs.90).aspx

最好(恕我直言)更復雜的場景,FAKE