【问题标题】:Unable to run .net app with Mono - mscorlib.dll not found (version mismatch?)无法使用 Mono 运行 .net 应用程序 - 找不到 mscorlib.dll(版本不匹配?)
【发布时间】:2012-05-16 10:29:58
【问题描述】:

我有一个简单的.net 命令行工具,在Windows 下编写和编译,使用.net 3.5SP1。我想使用 Mono 在 Linux 上运行它。

我使用的是 Ubuntu 12.04,并使用 Ubuntu 软件中心安装了 Mono Runtime。如果我尝试通过以下方式在终端中启动我的应用程序:

mono MyApp.exe

我得到错误:

找不到或无法加载程序集 mscorlib.dll。它应该已经安装在 'usr/lib/mono/2.0/mscorlib.dll' 中。

如果我导航到那个位置,我发现它不存在。但是,有usr/lib/mono/4.0/mscorlib.dll(以及同一文件夹中的更多 DLL)。

看来是版本不匹配。

[如果重要,mono -V 显示 Mono JIT compiler version 2.10.8.1 (Debia 2.10.8.1-1ubuntu2)]

【问题讨论】:

    标签: ubuntu mono


    【解决方案1】:

    如果你只是想运行它,sudo apt-get install libmono2.0-cil libmono-system-net2.0-cil mono-runtime 可能就足够了。

    【讨论】:

    • 这个答案比“安装完整单声道”更准确。完整的单声道需要 ~170Mb,而 NET 2.0 库大约是 ~45Mb。
    • 不幸的是,这对我不起作用 (pastebin.com/XduV6vPd)。安装 mono-complete 花费了更多时间,但它解决了问题。
    • @Tagc 对我来说,在我另外做了sudo apt-get install libmono-system-net2.0-cil后消息消失了@
    【解决方案2】:

    我通过安装 mono-complete 让它工作:

    sudo apt-get install mono-complete
    

    在那之后,我在 usr/lib/mono 下有了 2.0、3.5、4.0 等文件夹

    【讨论】:

    • 您是否尝试在 Windows 上首先使用 app.config 将 supportedRuntime 设置为 .NET 4?然后您应该能够使用 Mono 将其作为 .NET 4 运行,因为 mono 可执行文件应该将其作为 .NET 4 应用程序来选择。
    • 我在 NOOB v1.2 上遇到了同样的问题。在我重新开始使用 Raspbian “Wheezy” os 之后,正如 Lex 指出的那样,在 app.config 中有 使我的应用程序使用正确的版本(4.0)并且我不必安装单完整的。
    • 对于那些在 3.4 版本中遇到此问题的用户,请参阅 stackoverflow.com/questions/22285830/…
    【解决方案3】:

    我运行sudo apt-get purge mono-*,然后运行sudo apt-get install mono-complete。这在 /usr/lib/mono 中创建了文件,但是在 /usr/local/lib/mono 中查找不存在的文件时仍然会生成错误。

    尝试将 MONO_PATH 更改为正确的位置,但没有成功。最后最终将整个目录复制到 /usr/local/lib 最终让它工作。

    【讨论】:

      【解决方案4】:

      对于我的发行版(ubuntu 12. 32 位),我遇到了同样的问题 ),单声道完全不可用。 所以我刚刚安装了以下软件包,并且具有最重要 dll 的单声道已经可用:

      sudo apt-get install mono-dmcs
      sudo apt-get install mono-gmcs
      sudo apt-get install mono-devel
      

      【讨论】:

        【解决方案5】:

        您要查找的软件包是“libmono-system.data2.0-cil”,它与 Mono-complete 一起安装

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2017-09-29
          • 1970-01-01
          • 2010-12-13
          • 1970-01-01
          • 1970-01-01
          • 2021-09-27
          • 1970-01-01
          相关资源
          最近更新 更多