运行 来自命令行的 Xamarin 项目

Run Xamarin project from command line

我在 OSX 上有一个通过 Xamarin 构建和执行的 C# 项目。我如何从命令行 运行 这个项目?我需要传递什么参数给mono?

基本用法

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

mono myprogram.exe

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

因此,在最基本的形式中,您只需将基于 CIL 的 .exe 传递给 mono runtime/executable。对于 高级 需求,请参阅单声道的 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...]
~~~~~~

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

对我来说,这涉及 运行ning mcs(单声道编译器)与我的 Xamarin 项目使用的每个源文件和每个 DLL。我的大部分源文件都在一个目录中,Xamarin 好心地将所有 DLL 收集到 ./bin/Debug/XXXXXXXXXXX.app/Contents/MonoBundle/ 下的一个目录中。我拿走了所有这些 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