如何检测正在使用哪个 .NET 运行时(MS 与 Mono)?

2024-01-11

我想知道程序执行期间是使用 Mono 运行时还是 Microsoft 运行时执行。

我当前正在使用以下代码来确定我是否在 MS CLR 上:

static bool IsMicrosoftCLR()
{
    return RuntimeEnvironment.GetRuntimeDirectory().Contains("Microsoft");
}

但是,这在某种程度上取决于运行时的安装文件夹,我不确定这是否适用于所有安装。

有没有更好的方法来检查当前运行时间?


来自 Mono 项目的Winforms 应用程序移植指南 http://www.mono-project.com/Guide:_Porting_Winforms_Applications:

public static bool IsRunningOnMono ()
{
    return Type.GetType ("Mono.Runtime") != null;
}

我相信您还会有更多问题,因此值得查看本指南和单一论坛 http://www.go-mono.com/forums/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何检测正在使用哪个 .NET 运行时(MS 与 Mono)? 的相关文章

随机推荐

  • 如何将 Hibernate 代理转换为真实的实体对象

    冬眠期间Session 我正在加载一些对象 其中一些由于延迟加载而作为代理加载 一切都好 我不想关闭延迟加载 但后来我需要通过 RPC 将一些对象 实际上是一个对象 发送到 GWT 客户端 而这个具体对象恰好是一个代理 所以我需要把它变成一
  • 在生产模式下收到“用户'root'@'localhost'访问被拒绝(使用密码:NO)”并且没有记录错误

    我部署了 Rails 应用程序 但所有页面上都出现 500 错误 我的 Production log 没有显示任何内容 这是一个问题 但我做了一个 脚本 控制台生产 并尝试运行一个简单的查询 User find first 它抛出了这个 A
  • 2条正态曲线的交点

    虽然我认为这是一个基本问题 但我似乎无法找出如何在 R 中计算它 2 个或多个正态分布 拟合在直方图上 的交点 我需要 x 值 例如具有以下参数 d data frame mod c 1 2 mean c 14 16 sd c 0 9 0
  • 有没有办法仅针对其副作用来应用重构脚本?

    我有一个库已更改为引入工厂方法来替换构造函数 原因现在并不重要 在当前情况下主要是为了改进类型推断 假设有is一个 Eclipse 重构脚本 所以我几乎有一个很好的计算机可读的更改描述 有什么方法可以apply该脚本仅适用于项目uses那个
  • IE8 - 带有 margin-top 的容器:10px 没有边距

    编辑 这只发生在 IE8 中 在 IE7 Firefox Opera 等中工作正常 首先 这是我在 Photoshop 中制作的一张图片来演示我的问题 http richardknop com pict jpg http richardkn
  • 调整 2D numpy 数组的大小(不包括 NaN)

    我正在尝试调整给定因子的 2D numpy 数组的大小 从而在输出中获得更小的数组 该数组是从图像文件中读取的 其中一些值应该是 NaN 不是数字 来自 numpy 的 np nan 它是卫星遥感测量的结果 只是没有测量 一些像素 我为此找
  • Gnuplot 不同颜色

    我试图用不同的颜色为绘图和 gnuplot 中的拟合着色 但它不起作用 set ylabel s in m set xlabel t in s unset key set style line 1 lt 2 lc rgb red lw 3
  • 在 Flutter 应用程序中使用 Stripe 保持 PCI 合规性

    我正在将 Stripe 集成为支付网关 并且我正在考虑flutter stripe包装上写着 简化安全性 我们让您可以轻松收集信用卡号等敏感数据并保持 PCI 合规性 这意味着敏感数据将直接发送到 Stripe 而不是通过您的服务器 有关更
  • 当 char * 被类型定义并通过结构访问时,为什么编译器会看到 char * 和 printf 的转换说明符“s”不匹配?

    为什么编译器会抱怨以下 printf 中的参数类型 char 和转换说明符 s 不匹配 include
  • 将 MySQL 数据库拆分为单独的表

    嗯 我不是一个优秀的开发人员或数据库专家 但我对这些事情还是有一点了解的 我正在尝试使用 mysqldump 命令在 VPS 上转储数据库 该命令运行良好 但是 当我在下载转储后尝试在本地恢复时 出现超时错误 任何人都可以告诉我如何通过将数
  • 如何强制PHP/Apache再使用一年?

    因此 另一位员工交给了我一个旧项目 它的代码非常糟糕 几乎让我辞职了 两次 因为我没有那么多时间 这个任务给了我两周时间 所以我无法重写整个内容 我按照要求进行了修改 目前正在进行测试 问题是 代码应该改变它在其他年份的行为 这个问题的问题
  • typescript 扩展数组原型

    我只想使用一种方法来扩展 Array 原型 将字符串数组的每个项目转换为大写 这是我的第一种方法 Array prototype toUppercase gt map String toUppercase 为什么不工作 多谢 需要先声明该成
  • 无法为 Eclipse 安装 Maven 插件 [重复]

    这个问题在这里已经有答案了 我正在 Ubuntu 12 04 LTS 上开发 Eclipse 3 7 indigo 并且我正在尝试安装 Maven 插件 下列的this http eclipse org m2e download 页面 我添
  • 在“adb反向”上出现两次“错误:关闭”

    我正在尝试通过 ADB 反向转发端口 但它只返回以下神秘错误error closed 正常转发工作 会话片段 adb forward tcp 59778 tcp 59778 adb forward list 015d2109ce0c1a0f
  • bash trap 不会忽略信号

    请考虑这个 bash 脚本 bin bash trap INT echo sleep sleep 5 echo rsync rsync a usr lib var tmp 正如预期的那样 尝试使用 ctrl c 中断睡眠失败 但是rsync
  • 为什么“transform(s.begin(),s.end(),s.begin(),tolower)”不能编译成功?

    给出代码 include
  • 如何防止在代码更改时必须重建映像

    我开始在个人项目中使用 Docker 并意识到这将我的开发时间增加到了无法接受的程度 如果我必须为每次代码更改重建映像 我宁愿启动 LXC 实例 我听说有一种方法可以安装它 但不确定具体如何进行 我还有一个 docker compose y
  • 删除[]对象数组

    我已经分配了对象数组 Objects array new Objects N 我应该如何删除这个数组 只是 delete array 或者迭代数组的元素 for int i 0 i
  • Jinja2 中的稳定排序

    可以应用排序过滤器 http jinja pocoo org docs templates sort在 Jinja2 中 首先按一个属性对列表进行排序 然后再按另一个属性排序 这似乎是很自然的事情 但在我的测试中 前面的排序完全不稳定 所有
  • 如何检测正在使用哪个 .NET 运行时(MS 与 Mono)?

    我想知道程序执行期间是使用 Mono 运行时还是 Microsoft 运行时执行 我当前正在使用以下代码来确定我是否在 MS CLR 上 static bool IsMicrosoftCLR return RuntimeEnvironmen