【问题标题】:Mono on Linux: mkbundle does not find shared librariesLinux 上的 Mono:mkbundle 找不到共享库
【发布时间】:2018-05-15 18:21:53
【问题描述】:

我有一个小型 C# 应用程序,我想将其转换为本机可执行二进制文件。 csc Foo.cs 运行时没有警告,我可以毫无问题地运行应用程序:mono Foo.exe

然而,当我启动 mkbundle 时,我得到了这个错误:

$ mkbundle Foo.exe
Failure to load i18n assemblies, the following directories were searched for the assemblies:
Path: .
In Custom mode, you need to provide the directory to lookup assemblies from using -L
ERROR: Couldn't load one or more of the i18n assemblies: Failed to load I18N.dll

我在/usr/lib/mono/... 找到了各种版本的I18N.dll,在使用-L 将其中一个的父目录传递给mkbundle 后,一切都奏效了。

但是为什么我必须这样做呢?我在网上找到的任何示例都没有使用-L 选项。

我是否处于“自定义模式”?如果是这样,什么是自定义模式? 我宁愿认为这是缺少环境变量的问题,但我不知道我必须更改什么。

非常感谢!

【问题讨论】:

    标签: c# mono dependencies shared-libraries mkbundle


    【解决方案1】:

    如果您的程序集不使用国际化 (i18n),请尝试 mkbundle --i18n none

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-12
      • 2014-06-13
      • 2016-06-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多