¿Cómo usar Xamarin sin el IDE?

Quiero escribir una aplicación de iOS en C # con Xamarin y MonoTouch. Quiero usar shell Vim y Z en lugar de Xamarin Studio. Sin embargo, no puedo encontrar mucha documentation sobre cómo build desde la command-line.

La documentation del command mtouch dice que debe pasar un ensamblaje como argumento, pero ¿cómo creo ese ensamblado?

Los comstackdores de línea de command que proporciona Mono son mcs , gmcs y dmcs . Para Mono 2.10.xo anterior, son para C # 1.0, C # 2.0 y C # 4.0, respectivamente; para Mono 3.0.x, mcs pnetworkingeterminado en la versión más reciente, y debe seleccionar las versiones de idioma / time de ejecución anteriores con las opciones -langversion y -sdk . Los commands dmcs y gmcs en 3.0.x son secuencias de commands que llaman mcs con la opción -sdk adecuada.

No estoy lo suficientemente familiarizado con Xamarin.iOS para saber cómo se diseñan las bibliotecas, pero la opción -lib permite decirle al comstackdor acerca de directorys adicionales que contienen ensamblados .dll y -r permite hacer reference a un ensamblado específico. El comstackdor creará un ensamblado .exe de forma pnetworkingeterminada; use -target:library o -t:library para comstackr un .dll su lugar. La opción -help le dará una list de todas las opciones.

Puede usar cualquier sistema de compilation que prefiera desde la línea de command. Si necesita procesar files de proyecto de MSBuild, entonces xbuild puede manejarlos, pero make , cmake , scons funcionan bien, y probablemente sean preferibles a editar files .sln en Vim. Es posible que tenga que descifrar las dependencies usted mismo si no son obvias y si tiene un proyecto complejo con múltiples ensamblajes (el comstackdor es lo suficientemente rápido como para que pueda volver a comstackr todo para pequeños proyectos de ensamblaje único).

Tenga en count que yo no estoy usando Mono para esto yo mismo, sino principalmente para proyectos de command-line en OS X / Linux, por lo que es posible que a lo anterior falten algunos detalles sutiles relacionados con la construcción de ensamblados listos para mtouch para iOS.