我试图将应用程序与单声道3.2.3捆绑到一个独立的可执行文件.为此,我遵循本指南.声明变量后:
mono_version="3.2.3"
export MONO=/cygdrive/c/progra~2/Mono-$mono_version
machineconfig=$PROGRAMFILES\\Mono-$mono_version\\etc\\mono\\4.5\\machine.config
export PATH=$PATH:$MONO/bin
export PKG_CONFIG_PATH=$MONO/lib/pkgconfig
export CC="i686-pc-mingw32-gcc -U _WIN32"
Run Code Online (Sandbox Code Playgroud)
mkbundle --deps命令无法本地化引用的程序集:
Unhandled Exception:
System.IO.FileNotFoundException: Could not load file or assembly 'gtk-sharp' or
one of its dependencies. The system cannot find the file specified.
File name: 'gtk-sharp'
Run Code Online (Sandbox Code Playgroud)
使用mono 2.10.9执行完全相同的操作:
mono_version="2.10.9"
export MONO=/cygdrive/c/progra~2/Mono-$mono_version
machineconfig=$PROGRAMFILES\\Mono-$mono_version\\etc\\mono\\4.0\\machine.config
export PATH=$PATH:$MONO/bin
export PKG_CONFIG_PATH=$MONO/lib/pkgconfig
export CC="i686-pc-mingw32-gcc -U _WIN32"
mkbundle --deps --machine-config "$machineconfig" -c UI.exe
Run Code Online (Sandbox Code Playgroud)
给出积极的结果:
OS is: Windows
WARNING:
Check that the machine.config file you are bundling
doesn't contain sensitive information specific …Run Code Online (Sandbox Code Playgroud) 我是一名长期的C#开发人员,但对Mono来说是新手,尤其是Gtk#.我用C#和Gtk#开发了一个小应用程序.我需要这个应用程序在Windows,Linux和Mac上运行所以我决定选择Mono,到目前为止,它似乎是一个很酷的框架.
我的简单应用程序所做的是基于用户选择的本地目录和端口启动XSP Web服务器.理想情况下,我希望我的应用程序无需首先安装Mono框架即可工作,但这不是必须开始的.我使用以下库:
using System;
using Gtk;
using System.Net;
using Mono.WebServer;
using System.Diagnostics;
Run Code Online (Sandbox Code Playgroud)
我在Mac上开发(Snow Leopard,10.6.7).我的可执行文件在我的Mac上完美运行 但是我遇到了Ubuntu和Windows的问题.我的应用程序部分在Ubuntu(11.04)上运行 - 它启动并且似乎正在工作但在我尝试启动XSP Web服务器时失败,这似乎可以预期,因为Mono.Webserver可能没有安装在我的Ubuntu机器上.在Windows(7,64位)上,当我双击它时,我的应用程序立即崩溃.崩溃报告告诉我发生了System.IO.FileNotFoundException错误.可能是由于同样缺少XSP库?
无论如何,我在互联网上环顾四周并了解了一下mkbundle.我按照各种论坛帖子的建议执行了以下设置:
export AS="as -arch i386"
Run Code Online (Sandbox Code Playgroud)
我已导航到项目的/ bin/Release目录,然后运行以下命令:
mkbundle MivandoLocalServer.exe -o MivandoLocalServer --deps
Run Code Online (Sandbox Code Playgroud)
但我得到以下输出,最终失败:
Compiling:
as -arch i386 -o temp.o temp.s
cc -g -o MivandoLocalServer -Wall temp.c `pkg-config --cflags --libs mono-2` temp.o
Package mono-2 was not found in the pkg-config search path.
Perhaps you should add the directory containing `mono-2.pc'
to the …Run Code Online (Sandbox Code Playgroud)