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