我有一个小型 C# 应用程序,我想将其转换为 native 可执行二进制文件。
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 的各种版本,并且在将其中一个的父目录传递给 mkbundle
之后使用 -L
,一切正常。
但为什么我必须这样做? -L
选项未在我在网上找到的任何示例中使用。
我是否处于“自定义模式”?如果是这样,什么是自定义模式? 我更希望这是缺少环境变量的问题,但我不知道我必须更改什么。
非常感谢!
最佳答案
如果您的程序集不使用国际化 (i18n),请尝试 mkbundle --i18n none
关于c# - Linux 上的单声道 : mkbundle does not find shared libraries,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50356909/