问题标签 [mkbundle]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1407 浏览

mono - 在不安装单声道的情况下分发应用程序

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

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

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

0 投票
1 回答
2005 浏览

.net - 在 Mac OS X 雪豹上运行单声道 2.10.2 mkbundle 时出现问题

此页面包含有关 Bundles with 的信息mkbundle,但是当我尝试在 Mac 上使用它时,我收到了此错误消息。

这个站点,我可以运行export AS="as -arch i386"得到另一个错误。

我看到这是32bit/64bit编译问题,那么如何去除这个错误信息呢?我试过了export CC="cc -arch i386",但它不起作用。

0 投票
2 回答
2117 浏览

.net - mkbundle 和 GTK#

我正在尝试使用 mkbundle,这样我就可以分发 GTK# 应用程序,而无需用户安装 .NET/Mono 或 GTK#。我已经成功地捆绑了一个使用 winforms 的应用程序,但由于某种原因,当我对 GTK# 应用程序执行相同操作时,它就不起作用了。

这就是我从 cygwin 中得到的:

$ mkbundle --deps a.exe OS is: Windows Sources: 1 Auto-dependencies: True

未处理的异常:System.IO.FileNotFoundException:无法加载文件或程序集“gtk-sharp”或其依赖项之一。该系统找不到指定的文件。 文件名: System.AppDomain.Load (System.Reflection.AssemblyName assemblyRef, System.Security.Policy.Evidence assemblySecurity) [0x00000] 处
的 'gtk-sharp'在 (wrapper remoting-invoke-with-check) System. AppDomain:Load (System.Reflection.AssemblyName,System.Security.Policy.Evidence) at System.AppDomain.Load (System.Reflection.AssemblyName assemblyRef) [0x00000] in :0 at (wrapper remoting-invoke-with-check) System .AppDomain:Load (System.Reflection.AssemblyName) 在 System.Reflection.Assembly.Load (System.Reflection.AssemblyName assemblyRef) [0x00000] in :0





在 MakeBundle.QueueAssembly(System.Collections.ArrayList 文件,System.String 代码库)[0x00000] 在:0
在 MakeBundle.Main(System.String[] args)[0x00000] 在:0
[错误] 致命的未处理异常:系统。 IO.FileNotFoundException:无法加载文件或程序集“gtk-sharp”或其依赖项之一。该系统找不到指定的文件。 文件名: System.AppDomain.Load (System.Reflection.AssemblyName assemblyRef, System.Security.Policy.Evidence assemblySecurity) [0x00000] 处
的 'gtk-sharp'在 (wrapper remoting-invoke-with-check) System. AppDomain:Load (System.Reflection.AssemblyName,System.Security.Policy.Evidence) 在 System.AppDomain.Load (System.Reflection.AssemblyName assemblyRef) [0x00000] in :0



在 (wrapper remoting-invoke-with-check) System.AppDomain:Load (System.Reflection.AssemblyName)
at System.Reflection.Assembly.Load (System.Reflection.AssemblyName assemblyRef) [0x00000] in :0
at MakeBundle.QueueAssembly ( System.Collections.ArrayList 文件,System.String 代码库)[0x00000] in :0
at MakeBundle.Main (System.String[] args) [0x00000] in :0`

但是我的 PATH 变量中有 /cygdrive/c/GtkSharp/2.12/lib 。我可以检查一下,就好像我在 cygwin 中输入“gtk-sharp.dll”一样,我得到以下返回:

$ gtk-sharp.dll bash: /cygdrive/c/GtkSharp/2.12/lib/gtk-sharp-2.0/gtk-sharp.dll: cannot execute binary file

所以它应该能够找到文件!

任何帮助将非常感激。

0 投票
1 回答
619 浏览

windows - mkbundle 生成非功能性控制台 exe

我可以从我的 MonoDevelop C# 项目中成功构建一个捆绑的 exe,但是当我运行捆绑包时,它什么也没做;立即无声地终止执行。我究竟做错了什么?

我在 64 位 Windows 7 上使用 Mono 2.10.5,cygwin 通常遵循这些说明,但进行了这些修改。我遵循的确切步骤是:

  1. 在 MonoDevelop 中创建新的 C# 控制台项目(仅包含Console.WriteLine ("Hello World!");
  2. 将目标更改为发布
  3. 构建所有
  4. 在cygwin中:mkbundle -c -o host.c -oo bundle.o --deps BundleTest.exe
  5. 编辑host.c,#undef _WIN32#endif后面添加#include <windows.h>
  6. 在cygwin中:gcc -mno-cygwin -o test.exe -Wall host.c 'pkg-config --cflags --libs mono-2|dos2unix' bundle.o
  7. 在命令提示符下:test.exe
  8. 在命令提示符下:BundleTest.exe

在第 7 步中,文本“Hello World!” 按预期在命令提示符下打印。在第 8 步中,命令提示符中没有打印任何内容;键入 rem 并按 Enter 可以得到完全相同的响应。

编辑:其他人编辑了这个问题以切换步骤 7 和 8,这从本质上改变了对观察到的行为的描述。我不知道为什么他们觉得这样做是有道理的,因为他们不是进行观察的人,但它与我思考这个问题的时间相去甚远,我不想只是换回方式他们是。因此,请注意,此编辑之前的最后一段可能不再准确反映我的原始观察结果。

0 投票
1 回答
2478 浏览

.net - C# 程序在 Linux 的单声道下无法运行。

我试图让我用 Visual C# 2010 编写的程序在 Linux 上运行。为此,我使用了 mkbundle 功能,因此潜在客户不必安装单声道。不幸的是,我对 Linux 或 Mono 不了解,所以我只是遵循了这个:c# cywgwin mono mkbundle windows 7 - cannot compile file

但是由于某种原因,mkbundle 最后写了 [FAIL],说“没有这样的文件或目录”。我在下面粘贴了全文。有谁知道如何解决这个问题?

当我尝试在 Linux 虚拟机上使用 mkbundle 时,我成功获得了 Linux 可执行文件,但是每当我在 Ubuntu Linux VM(通过 Oracle VM Virtual Box)下运行该程序时都会出现以下错误:

0 投票
1 回答
715 浏览

.net - 跳过不兼容的库 (mkbundle)

我有一个 .Net 程序,使用“mono Program.exe”可以正常工作,但现在我尝试在同一台机器上使用“mkbundle -o prog Program.exe --deps”,它返回以下错误:

/usr/bin/ld: 跳过不兼容的 /opt/novell/mono/lib/pkgconfig/../../lib/libmono-2.0.so 时搜索 -lmono-2.0 /usr/bin/ld: 跳过不兼容的 / opt/novell/mono/lib/pkgconfig/../../lib/libmono-2.0.a 搜索时 -lmono-2.0 /usr/bin/ld: 找不到 -lmono-2.0 collect2: ld 返回 1 退出状态

系统是 x86_64 上的 CentOS 5.7。我已经使用这些说明在这个系统上安装了单声道。有谁知道为什么单声道工作,但 mkbundle 没有?我该如何解决?

0 投票
2 回答
756 浏览

macos - Mono Runtime 需要与 Mac 的 Mono Winform 应用程序捆绑在一起

我是 Mac 开发新手。

我迁移了一个在 Windows 平台上使用 C# 创建的 Windows 窗体应用程序。我可以在 MonoDevelop 中的 Mac 上运行这个应用程序,并在 IDE 中运行没有问题。

现在,我喜欢在我的应用程序中创建包含 Mono Runtime 的设置,这样无论用户是否安装了 Mono Runtime,我的应用程序都可以继续运行。

我的 mac 机器有 Mac OS X 10.5。我已经安装了最新的 Mono 开发工具和 Mono 运行时 2.0。这就是我所做的一切。

我一直在使用 MkBundle 工具来创建捆绑包来实现这一点。我的命令在终端上看起来像这样:

mkbundle -o hello hello.exe --deps

运行此命令时出现以下错误。“sh:as:找不到命令”。

在终端上看到以下文本后发生错误

“编译:作为 -o temp.o temp.s”。

现在,我不确定为什么会收到此错误。

我是 Mac/Unix 新手,所以请提供我可以轻松遵循的任何说明。

任何正确方向的具体答案或提示将不胜感激。

0 投票
1 回答
4057 浏览

c# - Mac 中的 Mono 应用程序失败并显示“System.MissingMethodException:找不到类型 System.Configuration.ExeConfigurationHost 的默认构造函数”

这段代码基本上是在进行 HTTP 调用,当它尝试时,它只是失败了,但只有当应用程序被打包为 Mac 应用程序时,当我在 MonoDevelop 中运行应用程序时不会发生这种情况。

有人对这可能是什么有任何暗示吗?

编辑

我见过很多人谈论mkbundleconfig选项,但是当我在 MonoDevelop 上生成 Mac 应用程序包时,我在任何地方都看不到这个选项。

0 投票
1 回答
1151 浏览

c# - 使用 mkbundle 从 C# 源代码创建 Linux 可执行文件时出现问题

正如在这个线程中提到的以及在这里我正在使用mkbundle -o newfile oldfile.exe --static(操作系统:Ubuntu 11.10 64 位,Mono:2.10.5)创建一个可以在 Apache Web 服务器(操作系统:Debian GNU/Linux 32 位)上执行的文件。在这里,这oldfile.exe是使用mcs oldfile.cs. 在原始系统(使用 Ubuntu)上,该文件是可执行的。但是,每当我调用newfileApache Web 服务器时,我都会收到错误消息:

不能执行二进制文件

另外,当file newfile它说

ELF 64 位 LSB 可执行文件,x86-64,版本 1 (SYSV),动态链接(使用共享库),未剥离

我怀疑如果 mkbundle 按预期工作,那么它应该已经阅读

...静态链接...

不应该吗?任何人都知道为什么该文件在服务器上不可执行?是不是因为 32bit/64bit 有问题?

0 投票
1 回答
929 浏览

c# - 使用 mkbundle(mono) 编译简单 Winforms 应用程序时出现异常

我试过使用mkbundle --deps f.exe -o d.exe 但是抛出异常

我收到以下错误

有人能帮我吗。

当我从 Cygwin 直接从 Windows 使用 mkbundle 时发生上述错误,我收到以下错误

从网上我了解到'as'是一个编译器,我在哪里可以得到它,请帮助我,我不是 Linux 爱好者