【问题标题】:Mono: runtime error: v4.0.30319单声道:运行时错误:v4.0.30319
【发布时间】:2018-02-05 17:42:01
【问题描述】:

我对 Mono 有一个大问题;不断收到此错误消息。

警告:此应用程序支持的运行时版本不可用。使用默认运行时:v4.0.30319

我已经重装了 3 次服务器,但不幸的是,新安装的总是同样的问题。

  • 操作系统:Debian 7 迷你版
  • 单声道:完整安装(最新的单声道完整版本)
  • PROCON:1.4.0.6
  • 链接:PROCON usage on Debian 7

【问题讨论】:

  • 看起来应用程序是针对不同(较新)版本的运行时构建的。你的构建设置是什么?
  • @ChrisF 它应该是旧版本,例如 2.0。 4.0.30319 已经是最新的了。

标签: c# linux mono


【解决方案1】:

如果应用程序正常启动而您只想抑制警告,则有两种选择:

配置文件

将配置文件添加到二进制文件所在目录,名称为<binary-name>.config,例如对于application.exe,使用application.exe.config

文件的内容应如下所示。当然,注释是可选的。

<?xml version="1.0" encoding="utf-8"?>
<!-- Add this file to the legacy .NET application folder to prevent:
WARNING: The runtime version supported by this application is unavailable. -->
<configuration>
    <startup>
            <supportedRuntime version="v2.0.50727"/>
            <supportedRuntime version="v4.0"/>
    </startup> 
</configuration>

来源

命令行

在启动应用程序时手动指定运行时。

mono --runtime=v4.0 application.exe

来源

【讨论】:

    【解决方案2】:

    如果您使用反汇编程序检查程序集,您应该看到它们是针对哪个 CLR 版本构建的。我的猜测是它们是针对 2.0 构建的。

    Mono 4 删除了旧的 2.0 CLR 并且 4.0 CLR(实际上是 4.5 配置文件)成为默认和唯一的。所以这只是一个警告,而不是错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-11
      • 2013-02-19
      • 1970-01-01
      • 2015-07-11
      • 1970-01-01
      相关资源
      最近更新 更多