标签: mkbundle

如何使"mkbundle --deps"选项与mono 3.2.3一起使用

我试图将应用程序与单声道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 mkbundle

28
推荐指数
1
解决办法
1806
查看次数

使用Mono的Mac上的mkbundle:找不到"mono/metadata/mono-config.h"文件

我正在尝试使用Mono创建一个Mac捆绑包.当我执行:

    mkbundle file.exe --deps -o FILE
Run Code Online (Sandbox Code Playgroud)

我在编译期间得到了这个:

    fatal error: "mono/metadata/mono-config.h" file not found
Run Code Online (Sandbox Code Playgroud)

我错过了什么吗?

c# macos mono mkbundle

18
推荐指数
3
解决办法
1908
查看次数

如何使用Mono和mkbundle将简单的.Net控制台项目转换为可移植的exe?

我想将我简单的纯.Net 2.0控制台实用程序转换为便携式exe文件,我可以将其放在USB记忆棒上运行,而不必担心CLR和框架库是否安装在特定的机器上.

Stackoverflow已经有一些关于使用MonoMkbundle从.Net-projects创建自包含Windows exes的信息,但我想要的是一个紧凑但有用的HOWTO.

从简单的C#Visual Studio项目实现可移植性的最小步骤是什么?

.net c# mono portability mkbundle

14
推荐指数
1
解决办法
6145
查看次数

无法使用mkbundle编译简单的C#应用​​程序

我写了一些控制台"Hello world"的应用程序.并且已经跟着c#cywgwin mono mkbundle windows 7 - 无法编译文件的答案.但我得到了:

$ mkbundle -o Fur Furries.exe --deps -z
OS is: Windows
Sources: 1 Auto-dependencies: True
  embedding: C:\Monotest\Furries.exe
  compression ratio: 40.43%
  embedding: C:\Soft\Mono\lib\mono\4.0\mscorlib.dll
  compression ratio: 34.68%
Compiling:
as -o temp.o temp.s
gcc -mno-cygwin -g -o Fur -Wall temp.c `pkg-config --cflags --libs mono-2|dos2un
ix` -lz temp.o
temp.c: In function `main':
temp.c:173: warning: implicit declaration of function `g_utf16_to_utf8'
temp.c:173: warning: assignment makes pointer from integer without a cast
temp.c:188: warning: assignment makes pointer from …
Run Code Online (Sandbox Code Playgroud)

mono mkbundle

7
推荐指数
1
解决办法
4384
查看次数

Mono mkbundle抛出'IKVM.Reflection.BadImageFormatException'

我一直在尝试使用mkbundle编译或捆绑我的应用程序.这是我正在执行的脚本:

set -o errexit
set -o nounset

mono_version="3.2.3"
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

icon_name='"icon.ico"'

echo "1 ICON $icon_name" > icon.rc

export CC="i686-pc-mingw32-gcc icon.o -U _WIN32"

output_name=Output.exe

mkbundle JiraTempoApp.exe MonoPosixHelper.dll gtk-sharp.dll glib-sharp.dll atk-sharp.dll gdk-sharp.dll glade-sharp.dll glib-sharp.dll pango-sharp.dll RestSharp.dll JiraRestLib.dll --deps --machine-config "$machineconfig" -o $output_name -z

rm icon.rc 
rm icon.o

cp $MONO/bin/mono-2.0.dll .
cp $MONO/bin/zlib1.dll .

./$output_name
Run Code Online (Sandbox Code Playgroud)

我不得不添加MonoPosixHelper.dll,因为我找不到EntryPoint错误.现在我得到了这个奇怪的错误:

$ ./mkbundle_cygwin.sh
OS is: Windows
WARNING:
  Check that the machine.config file you are bundling
  doesn't contain sensitive information specific to this machine. …
Run Code Online (Sandbox Code Playgroud)

c# deployment mono mkbundle

7
推荐指数
1
解决办法
1243
查看次数

分发应用程序而不安装mono

我想将我的c#应用程序分发到linux集群上的每台计算机,以便我可以运行它而无需在每台计算机上安装mono.

我花了好几个小时试图让mkbundle工作,但它没有正确捆绑(我无法在另一台没有安装单声道的机器上运行该应用程序).

做这个的最好方式是什么?

mono mkbundle

5
推荐指数
1
解决办法
1273
查看次数

我怎样才能说服mkbundle加入MonoPosixHelper?

我正在使用mkbundle并尝试创建一个使用Isis2的小程序IdaTester的嵌入式版本.该系统反过来使用Mono中依赖MonoPosixHelper的功能

我的问题是mkbundle无法识别依赖项,我最终得到一个仍然需要动态链接〜/ bin/lib/libMonoPosixHelper.so的可执行文件,当我将此可执行文件移动到我不能运行的系统时会导致问题有Mono安装.实际上,捆绑包缺少应该静态链接的东西之一.

我的可执行文件确实有效,但前提是我确保只在具有"正确位置"动态库的机器上运行它.这违背了嵌入式可执行文件的目的......我希望能够将这个程序作为一种服务器交给他们,他们可以把它放在任何地方并作为二进制文件启动,显然如果他们需要安装库来实现这一点,服务器并不是完全独立的!

我看到如何强制mkbundle包含程序所依赖的任何dll文件,但是MonoPosixHelper不作为dll存在; 这是一个仅限Linux的库,仅作为共享库存在.有没有人知道一种"强制"捆绑静态嵌入它的方法?

如果这有帮助,我的小编译脚本如下:

mcs -debug+ IdaTester.cs Isis.cs -r:System.dll -r:Microsoft.CSharp.dll -r:Mono.Posix.dll
mkbundle --static -o IdaTester IdaTester.exe --deps
Run Code Online (Sandbox Code Playgroud)

然后我运行IdaTester; 这适用于可以找到libMonoPosixHelper库的平台,但是如果在尚未安装libMonoPosixHelper的平台上运行时尝试动态加载该库,则会在运行时失败...

.net c# mono mkbundle isis2

5
推荐指数
1
解决办法
1032
查看次数

在Windows上使用mkbundle创建C#可执行文件

我试图从控制台应用程序创建一个可执行文件.我已经安装了mono,cygwin(mingw-gcc,mingw-zlib1,mingw-zlib-devel,pkg-config),我已将以下行添加到我的.bashrc文件中

export PKG_CONFIG_PATH=/cygdrive/c/progra~1/Mono-3.2.3/lib/pkgconfig
export PATH=$PATH:/cygdrive/c/progra~1/Mono-3.2.3/bin
export CC="i686-pc-mingw32-gcc -U _WIN32"
Run Code Online (Sandbox Code Playgroud)

但每当我尝试使用mkbundle时,我收到以下消息 在此输入图像描述

有没有办法让mkbundle在Windows上正常工作.?

(我使用的是Windows 7 x86,单声道3.2.3,我在官方网站上找到的cygwin,xamarin studio 4.2和net framwork 4)

c# mono mkbundle

5
推荐指数
2
解决办法
4326
查看次数

如何将 SSL 与 HttpListener 与 mkbundle 的 Mono 应用程序一起使用

我有一个用 Mono 构建的 .NET 应用程序,我已经使用mkbundle. 这样最终用户就不需要自己安装 Mono 了。

该应用程序使用 ServiceStack,它在后台使用HttpListener. 我需要通过启用 SSL 的 HTTP 端点公开 Web 服务。

通常,您会httpcfg -add -port 1234 -p12 MyCert.pfx -pwd "MyPass"在配置期间运行类似的操作(所有这些实际上只是将证书复制到特定路径),并且HttpListener会自动将证书绑定到端口。

所以HttpListener在运行时从特定路径加载证书。

那条路径是硬编码的吗?或者有什么方法可以告诉它使用来自另一个位置的证书,因为最终用户不会安装 Mono?

mono ssl httplistener mkbundle servicestack

5
推荐指数
1
解决办法
2296
查看次数

如何在Linux上捆绑Mono/GTK#应用程序?

这是我遇到的问题:我使用MonoDevelop编写了一个Gtk#程序,它运行得很好.但现在我希望能够在其他Linux机器上运行它,而无需安装MonoDevelop.

我的解决方案有两个项目:主要的Gtk#应用程序,以及它所依赖的C#库项目.因此,当我构建主项目时,它会生成MainProject.exe和MainProject.exe.mdb,以及bin/Release文件夹中的DependencyProject.dll.

我尝试运行以下命令将它全部打包成一个可执行文件(从bin/Release文件夹运行):

mkbundle MainProject.exe -o mainproject --deps *.dll
Run Code Online (Sandbox Code Playgroud)

但是,我从运行该命令得到此错误:

未处理的异常:

System.IO.FileNotFoundException:无法加载文件或程序集"gtk-sharp"或其依赖项之一.该系统找不到指定的文件.

文件名称:'gtk-sharp'

在System.AppDomain.Load(System.String assemblyString,System.Security.Policy.Evidence assemblySecurity,Boolean refonly)[0x00000] in:0

at(wrapper remoting-invoke-with-check)System.AppDomain:Load(string,System.Security.Policy.Evidence,bool)

在System.Reflection.Assembly.ReflectionOnlyLoad(System.String assemblyString)[0x00000] in:0

在IKVM.Reflection.Universe.DefaultResolver(System.String refname,Boolean throwOnError)[0x00000] in:0

在IKVM.Reflection.Universe.Load(System.String refname,IKVM.Reflection.Module requesModule,Boolean throwOnError)[0x00000] in:0

在IKVM.Reflection.Universe.Load(System.String refname)[0x00000] in:0

在MakeBundle.QueueAssembly(System.Collections.Generic.List`1文件,System.String代码库)[0x00000]中:0

[错误]致命的未处理的异常:System.IO.FileNotFoundException:无法加载文件或程序集'gtk-sharp'或其依赖项之一.该系统找不到指定的文件.

文件名称:'gtk-sharp'

在System.AppDomain.Load(System.String assemblyString,System.Security.Policy.Evidence assemblySecurity,Boolean refonly)[0x00000] in:0

at(wrapper remoting-invoke-with-check)System.AppDomain:Load(string,System.Security.Policy.Evidence,bool)

在System.Reflection.Assembly.ReflectionOnlyLoad(System.String assemblyString)[0x00000] in:0

在IKVM.Reflection.Universe.DefaultResolver(System.String refname,Boolean throwOnError)[0x00000] in:0

在IKVM.Reflection.Universe.Load(System.String refname,IKVM.Reflection.Module requesModule,Boolean throwOnError)[0x00000] in:0

在IKVM.Reflection.Universe.Load(System.String refname)[0x00000] in:0

在MakeBundle.QueueAssembly(System.Collections.Generic.List`1文件,System.String代码库)[0x00000]中:0

我看到了其他一些类似问题的Stack Overflow问题,但没有一个提供任何实用的解决方案.如何mkbundle有效地使用此命令?

linux gtk mono gtk# mkbundle

5
推荐指数
1
解决办法
798
查看次数

标签 统计

mkbundle ×10

mono ×10

c# ×6

.net ×2

deployment ×1

gtk ×1

gtk# ×1

httplistener ×1

isis2 ×1

linux ×1

macos ×1

portability ×1

servicestack ×1

ssl ×1