我在Mono框架中运行nant脚本时遇到了问题。
当我使用mono-3.5运行nant scipt时出现此错误。
这是我的nant scipt。
<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文件只生成了第一个库。它没有回应&#34;编译lib2&#34;。
先谢谢!
答案 0 :(得分:0)
如果mcs是一个bat文件(执行where mcs
以检查是否是mcs.bat),当你调用另一个bat这样的bat文件时
mcs /target:library /out:build\bin-lib-v1.0\lib.dll src-lib-v1.0\lib\%1\foo.cs
执行当前的bat停止,并传递给mcs.bat而不返回
你应该这样做:
call mcs /target:library /out:build\bin-lib-v1.0\lib.dll src-lib-v1.0\lib\%1\foo.cs
而不是nant(如果您更喜欢xml),只需使用msbuild(单声道上的xbuild),就有类似的CSC任务,请参阅http://msdn.microsoft.com/en-us/library/ms171479(v=vs.90).aspx
最佳(恕我直言)更复杂的情况,FAKE