从命令行

时间:2016-03-10 02:13:31

标签: c# xamarin mono

我在OSX上有一个C#项目,我通过Xamarin构建并执行。如何从命令行运行此项目?我需要将哪些参数传递给mono

2 个答案:

答案 0 :(得分:1)

基本用法

运行使用Mono编译的应用程序的正常方法是通过Mono运行时调用它,如下所示:

mono myprogram.exe

参考:高度过时的文档页面@ http://www.mono-project.com/archived/guiderunning_mono_applications/

因此,在最基本的形式中,您只需要将基于CIL的.exe传递给mono运行时/可执行文件。有关高级的需求,请参阅单man页面获取其他选项:

man mono

NAME
       mono  -  Mono's ECMA-CLI native code generator (Just-in-Time and Ahead-of-
       Time)

SYNOPSIS
       mono [options] file [arguments...]

       mono-sgen [options] file [arguments...]
~~~~~~

答案 1 :(得分:0)

虽然我的Xamarin项目最初是构建OSX应用程序而不是独立的单声道可执行文件,但可以先构建一个单独的可执行文件并使用mono运行它。

对我来说,这包括运行mcs(单声道编译器)与每个源文件和我的Xamarin项目使用的每个DLL。我的大多数源文件都在一个目录中,Xamarin在./bin/Debug/XXXXXXXXXXX.app/Contents/MonoBundle/下为您收集目录中的所有DLL。我获取了所有这些DLL,将它们移动到新目录lib。然后我可以像这样编译我的项目:

mcs *.cs -r:lib/MonoMac.dll -r:lib/MoreLinq.dll -r:lib/OpenTK.dll

这将输出带有第一个源文件名称的单声道可执行文件。它可以通过将文件复制到lib目录并在那里运行来运行:

cp Program.exe lib
cd lib
mono Program.exe