我想用Xamarin和MonoTouch在C#中编写一个iOS应用程序.我想使用Vim和Z shell而不是Xamarin Studio.但是,我找不到很多关于如何从命令行构建的文档.
该mtouch命令的文档说您必须将程序集作为参数传递,但如何创建该程序集?
该Mono提供命令行编译器mcs,gmcs和dmcs.对于Mono 2.10.x及更早版本,它们分别用于C#1.0,C#2.0和C#4.0; 对于Mono 3.0.x,mcs默认为最新版本,您必须使用-langversion和-sdk选项选择早期语言/运行时版本.3.0.x中的dmcs和gmcs命令是mcs使用适当-sdk选项调用的脚本.
我不熟悉Xamarin.iOS以了解库的布局方式,但该-lib选项允许您告诉编译器有关包含.dll程序集的其他目录,并-r允许您引用特定的程序集.编译器.exe默认会构建一个程序集; 使用-target:library或-t:library构建一个.dll.该-help选项将为您提供所有选项的列表.
您可以从命令行使用您喜欢的任何构建系统.如果你需要处理的MSBuild项目文件,然后xbuild可以处理他们,但是make,cmake,scons做工精细,同样,也很可能是最好的编辑.sln在Vim的文件.如果它们不是很明显,并且你有一个包含多个程序集的复杂项目(编译器足够快,你可以重新编译小型单组装项目的所有内容),你可能仍然必须自己弄清楚依赖项.
请注意,我自己并没有使用Mono,但主要用于OS X/Linux上的命令行项目,因此上面可能缺少一些与为iOS构建mtouch-ready程序集相关的细微细节.