首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

要检测正在使用的 .NET 运行时(MS 与 Mono),可以通过以下方法:

  1. 在代码中使用 System.Environment.Version 属性获取 .NET 运行时的版本号。
代码语言:csharp
复制
string version = System.Environment.Version.ToString();
Console.WriteLine("当前使用的 .NET 运行时版本:" + version);
  1. 使用 System.Type 类型获取运行时的相关信息。
代码语言:csharp
复制
Type monoRuntimeType = Type.GetType("Mono.Runtime");
if (monoRuntimeType != null)
{
    Console.WriteLine("当前使用的 .NET 运行时:Mono");
}
else
{
    Console.WriteLine("当前使用的 .NET 运行时:MS .NET");
}
  1. 使用 System.Runtime.InteropServices.RuntimeInformation 类型获取运行时的相关信息。
代码语言:csharp
复制
string frameworkDescription = System.Runtime.InteropServices.RuntimeInformation.FrameworkDescription;
Console.WriteLine("当前使用的 .NET 运行时:" + frameworkDescription);

以上方法可以帮助您检测正在使用的 .NET 运行时是 MS 还是 Mono。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

FileSystemWatcher 导致Mono ASP.NET应用程序CPU使用率比较高

大家都知道ASP.NET 网站应用程序(WebSite)可以自动检测到你ASP.NET应用文件修改,其中要使用就是监视磁盘上文件/目录更改,以便应用程序可以采取它认为必要文件创建/删除/修改事件反应中任何步骤...如果你内核不支持inotify,Mono将尝试使用FAM和gamin 这样用户态应用程序来监测文件系统文件/目录更改,然后通知到Mono运行时,这样效率就大打折扣了,性能就很糟糕了。...如果Mono 都无法检测到inotify,Fam以及gamin,mono使用最后一个选项Managed watcher,此监测程序在托管代码中实现,并为监测、 轮询更改所选文件/目录上文件系统使用一个单独线程...大约每750ms发生一次,并给服务器 CPU 上带来大量负载,导致CPU飙升。...3、使用Apache Mod_mono 使用命令 MonoSetEnv [server_alias] MONO_MANAGED_WATCHER=disable 可以使用下面的代码检测Linux服务器上使用是哪个

1.3K100

学习经验谈:Unity3d开发中最佳语言还是C#

支持选择,说明了unity3d 战略意图: 1:首先unity3d 选择C#,是因为微软这棵大树下有巨量程序员,并且C#在网络开发方面成绩很优秀 2:为什么在选择Mono这个基于C#开源框架...但是MONO是把.NET及其编程语言移植到非Windows平台上。现在,C#是唯一被移植到非Windows平台.NET语言。...想一想,Mono支持Linux、Solaris、Free BSD和MS Windows;除了Intel x86系列CPU(486,各类Pentium等)之外,据说还要支持Sparc、PowerPC和StrongArm...那Unity3d公司发展将会有多宽广吧,Unity公司,目前正在上升期,虽然目前unity3d 3.0版,在功能上同类框架基本持平,除了价格底,支持iphone,androd平台等等小优势以后,再无长处...Mono软件包包含了.NET类库一部分、一个C#编译器和.NET运行环境CLR(Common Language Runtime,公共语言运行时环境)。 公共语言运行库提供了跨平台能力。.

1.5K10
  • .NET MAUI 性能提升(上)

    dotnet new android 模板发布速度已经超过Xamarin.Android,主要是因为.NET 6中新BCL和Mono运行时。...如果你想在.NET 6中记录一个自定义配置文件,你可以试试我们实验性Mono.Profiler. Android包。我们正在努力在未来.NET版本中完全支持记录自定义概要文件。...这是在android工作负载中用C/ c++实现使用Mono运行时为程序集加载提供回调。...我们不想详尽地列出每一种组合,因为这会导致IL大小增长。我们正在研究如何在未来.NET版本中改进这一点。...我们正在研究如何在未来.NET版本中进一步改进这一点。一个这样例子是dotnet/maui#5654,在这里我们只是简单地考虑完全用Java来创建数组。

    8.6K20

    在传统.NET Framework 上运行ASP.NET Core项目

    项目我们想用ASP.NET Core来开发,但是苦于我们历史遗产很多,比如《使用 JavaScriptService 在.NET Core 里实现DES加密算法》,我们要估计等到.NET Core...App》向我们介绍了如何.NET Framework 4.5以上环境下跑我们ASP.NET Core项目。...我们上面看到了3个ASP.NET Web项目类型: ASP.NET Web 应用程序。这就是 4.6版本 ASP.NET MVC Web API。它在.NET 框架上运行。...这里有同学就有疑问了,最新Mono 4.6 也实现了.NET 4.5API,这个项目模板应用能否在Mono上跑呢,答案应该是不行,因为Mono底层编译器和运行时还没有和.NET Core统一,不过...Mono正在路上,已经开始统一底层编译器和运行时,具体大家可用去https://trello.com/b/vRPTMfdz/net-framework-integration-into-mono ,了解具体工作进展

    2K90

    .NET Core系列 : 1、.NET Core 环境搭建和命令行CLI入门

    使用.NET应当被看做是一件简单不能再简单事了。学习并且使用.NET 伙伴们有着在Go或者Ruby上有相同经验。...~]# 正如你可以看到从"用法:"上面的一行,还原命令只调用到 nuget3 可执行程序,通常您不需要修改这些选项,如果您使用自定义软件包源,要么因为您正在使用预发布版本 Microsoft 库或您组织使用其自己软件包源...生成目录内容将取决于项目的类型,但可以包括一个跨平台 IL 应用程序和他依赖项,这就是通常用Portable部署方式,应用程序共享.NET Core运行时环境程序集依赖,部署目标机器上需要事先安装...Self-contained部署方式就是每个应用程序自带.NET Core运行时环境程序集依赖,部署目标机器不需要安装.NET Core SDK,将应用程序文件夹拷贝过来就能运行。...下次我们将深入了解一下到 project.json 文件,并开始尝试在如何构建更复杂应用程序.Net Core。

    1.7K50

    Jexus 支持PHP三种方式

    它可以用于把PHP web项目编译成.NET字节码,并在Windows中使用IIS或者在Linux上使用Mono和Apache作为ASP.NET应用程序来执行。...有了Phalanger扩展,PHP程序可以直接使用.NET类,而.NET程序(比方说用C#编写)也可以动态地调用PHP脚本,或者使用在PHP中实现函数和类。...Phalanger组件 Phalanger包括多个部分独立组件,可以用来开发运行在.NETPHP应用程序,并使用.NETMono来运行它们: l Phalanger编译器Phalanger会把...编译后PHP代码会使用Phalanger运行时和动态语言运行时,从而提供了PHP语言动态特性高效率实现。...l Phalanger运行时和类库Phalanger运行时提供了对数组之类PHP特性实现。 Phalanger还包含了针对I/O、正则表达式以及其他标准PHP类库.NET实现。

    1.1K90

    Mono 支持LoongArch架构

    它包括一个C#编译器、一个.NET运行时环境,以及许多.NET类库。这使得开发人员可以在不同平台上使用相同代码基础,从而提高了开发效率。...兼容性:Mono旨在.NET Framework和.NET Core保持高度兼容,使得已有的.NET应用程序可以轻松迁移到其他平台。...开源:Mono是开源,这意味着开发者可以自由地使用、修改和分发它。 社区支持:Mono有一个活跃社区,提供支持、文档和资源,帮助开发者解决问题和实现新功能。...Mono在游戏开发、企业应用、移动应用等领域有着广泛应用。由于它跨平台特性,许多开发者选择使用Mono来创建可以在不同设备上运行应用程序。...2022年4月,基础运行时架构代码全部通过社区技术评审,进入主干开发分支,LoongArch成为.NET社区原生支持全新CPU架构。

    23510

    看我是如何用C#编写一个小于8KB贪吃蛇游戏

    我们可能已经在通往8KB游戏道路上走到了死胡同。 曲线救国: Mono Mono是另一个.NET运行时,对很多人来说是Xamarin同义词。...CoreCLR不同,Mono还依赖于Visual C++运行时再分配库,而该库在默认Windows安装中是不可用:为了保持应用程序自成一体目标,我们需要将该库应用程序一起携带。...我们有可能通过添加IL链接器来缩小体积,但我们会遇到CoreCLR相同问题-运行时mono-2.0-sgen.dll)大小为5.9MB(加上它上面的C++运行时大小),它代表了任何可能IL...更多关于CoreRTCoreCLR和Mono不同之处在这篇文章。当我在阅读D语言运行时间时,它让我想起了CoreRT很多内容。这篇文章也是一个有趣阅读。...因为CoreRT是一个提前编译基于运行时.NET实现,它不需要典型基于虚拟机运行时(如CoreCLR和Mono)需要大部分数据结构。这些数据包括诸如类型、方法、签名、基础类型等名称。

    66320

    Scallion:一款基于GPUOnion哈希生成器

    Scallion Scallion可以帮助我们使用OpenCL来创建GPG密钥以及针对Tor隐藏服务.onion地址。...Scallion基于Mono软件平台开发和运行,并已在Arch Linux平台上成功测试,工具运行依赖.NET 3.5+(已在Windows 7和Windows Server 2008平台上测试)。...Scallion当前仍处于测试阶段,正在积极开发中,但是它目前已经可以正常使用了。我们开发当前主要集中在性能、用户界面和安装难度方面的改进上,而不是在生成密钥以及相关算法方面。...工具下载 最新版本源码压缩包:【点击底部阅读原文查看】 Linux环境下构建 依赖组件 针对自己Linux发行版,获取最新版本Mono:【点击底部阅读原文查看】 使用下列命令安装常用依赖组件: sudo...密钥 mono scallion.exe "suffixa$|suffixb$|prefixa|prefixb|a.suffix$|a.test.$" Scallion工作机制 1、使用OpenSSL以及

    65110

    开源Mono框架将C#编程带到iPhone、Android和Wii

    Mono,作为.NET运行库开源实现,正在将微软技术带到未曾预料到地方,包括iPhone,Android和Wii。...Mono还允许开发者使用ahead-of-time(AOT)编译,它能将.NET通用中间语言(CIL)直接在编译中转变成原生码,这意味着应用程序不必要使用运行时编译执行技术(JIT),以在运行时产生原生码...VB编译器用cecil/light取代原来Reflection,这样可以通过一个编译器生成使用不同版本运行时程序集。...Mono中没有这些类库开源实现,所以ASP.NET MVC 3应用程序不能无缝地运行于mono,你需要移除对Microsoft.Web.Infrastructure.dll引用,使用mono自己实现...RazorWebPages可以直接使用微软.NET程序集运行于mono。 New WebMatrix.Data database API.

    2K70

    01.NetCore概述

    其目的是能够适应广泛新平台、新工作负荷和新编译器工具链。 它有多个 OS 和 CPU 端口正在使用中,并可以移植到更多端口。...必须将运行时和特定于平台基础库作为一个单元进行移植。 平台无关库应在所有平台上按照构建原样运行。...人们经常会问,为支持多个操作系统应如何实现 .NET Core。 他们还会问是否存在单独实现,或是否使用 conditional compilation(条件编译)。...可以在下面的图表看出大多数 CoreFX 都是平台无关代码,该代码可在所有平台共享。 平台无关代码可作为在所有平台上使用单个可移植程序集使用。 ?... Mono 比较 Mono 是原始跨平台和 开放源 .NET 实现,于 2004 年首次发布。 可以把它看作是 .NET Framework 社区克隆。

    1.5K50

    C#脚本实践(一)

    这也让我有了使用C#做为脚本冲动 如果嫌C#不是动态语言的话, Mono还支持JavaScript和Boo 本来想如果不跨平台的话是不是可以直接使用MS.Net实现 Google一下到是真有个叫CS-Script...实现, 不过想嵌入NativeC++看来不是那么好整 所以, 一切还是要从Mono下手, 虽然它运行效率比MS要打个折扣, 但再怎么说也是lua好多倍 Mono在Windows下编译不是很顺利...是在monowindows安装版本中 Embedded Samples就是嵌入mono示例程序 以teste为例, 运行时需要依赖mscorlib.dll, 而且那个路径很奇怪, 竟然是mono/...这个待研究 P/Invoke方式调用显然不实用, 要是能这样用还不如直接MS.Net 另外一种脚本调用底层方法是internal call, 大体看了下好像必须要在C#中再做一次extern声明...这个看看能不能做自动生成, 要不然每次改动两边都要改多不爽 C++调脚本是通过Mono提供一系列API来完成, 如mono_runtime_invoke 另外有个类似luabind库, 叫monobind

    1.6K40

    Mono 和 .NET Core比翼双飞

    惠普、英特尔和其他公司一起, 创建了 ECMA-335 标准, 该标准定义了支持多种编程语言公共语言基础结构,C# 和 Visual Basic. Net。...这允许开发人员使用 c# 和. net 为 iOS 和 Android 构建应用程序。Unity游戏开发也从Mono 中出现。...Mono 加入. net 基金会, 并得到 Microsoft 正式支持和贡献。微软社区正式 Mono 社区汇合。 2017年。 . Net Core 2.0 发布。...我们正在研究快速构建这些模式和模板其他模式和模板。 Mono 也是 我们跨平台、开源实现. net , 在ios 和 android 移动应用开发领域和游戏/虚拟现实技术具有重要价值 ?...因此, 我希望我们今天向您展示内容加强了我们对. net 承诺, 以构建您可以想象任何东西。现在是成为. net 开发人员最佳时机, 我们正在对该平台进行一些非常激动人心创新。

    1.1K40

    终于开始了,微软野心将通过全场景开发平台.NET 5体现得淋漓尽致!

    NET5在此基础上,利用.NET Core和Mono优势创建了一个单一平台,你可以将其用于所有的现存.net代码,一个完整.net framework平齐跨平台开发平台终于诞生了。...这样微软就可以为未来新平台以近乎零成本移植程序了。而这一切都是从一个跨平台运行时Mono开始Mono是.NET原始跨平台实现。...这样Mono就作为了Xamarin运行时 成为了Xamarin一部分。 CoreCLR是用于.NET Core运行时。...综上所述,.NET Core和Mono运行时有很多相似之处(毕竟它们都是.NET运行时),但也具有宝贵独特功能。使选择所需运行时体验变得有意义。现在微软正在互相替代CoreCLR和Mono。...以便让它像构建开关一样简单,可以在不同运行时选项之间进行选择。 下面的内容描述了微软计划为.NET 5设计主要特性。它们提供了清晰视图,说明了微软计划如何分别以及一起发展两个运行时。 3.

    1.5K10

    跨平台运行 Rafy 首次部署记录

    官网:http://www.mono-project.com/ MONO 可简单理解为跨平台 .NET 平台,包括运行时、框架、工具。...MONO 框架是 .NET 框架重写版本,其 API 尽量保持 .NET 框架一致,也支持 CLI 规范,所以上层应用程序不需要重新编译,也可以直接运行在 MONO 上。...所以直接使用 MONO 应该是成本最低跨平台方案。 但是,MONO 并不支持完整 .NET,例如 WPF、WWF 就没有在 MONO 上实现(详见:《兼容性对比》)。...所以,我们可以使用一个工具来检测应用程序是否会有兼容性问题:“Mono Migration Analyzer”。 MONO 安装完成后,对其进行了测试,可正确运行即可: ?...Web Server 在 Linux 在运行 MONO 可以使用 Apache、Nginx 等作为 Web 服务器,见:《 MONO ASP.NET》、《mod_mono》。

    773100

    别了,JavaScript;你好,Blazor

    2017年 微软开始尝试基于WebAssembly使用Mono运行时让.NET进入浏览器,Mono为.NET运行库(.dll)提供了基于WebAssembly运行环境。...运行在Mono之上是Blazor,一个构建于.NET单页Web应用开发框架,通过MonoWebAssembly运行时在浏览器中运行。...JavaScript 应用程序运行客户端并使用消息传递"服务器"通信。您可以轻松地将"服务器"替换为云中服务或应用程序,但模型仍然相同。 ?...它甚至运行 .NET 运行时版本,这个运行时处理 JavaScript 互操作,并提供基本服务(如垃圾回收)和更高级别的功能(布局、路由和用户界面小部件等)。...Blazor让我非常震撼是它使用起来非常简单。公平地说,我承认Blazor生态还不够完善,大量利用前端技术圈成果开源项目正在不断涌现。

    3.1K30

    微软开放.NET框架源代码和Mono

    2014年11月12日,ASP.NET之父、微软云计算企业级产品工程部执行副总裁Scott Guthrie,在Connect全球开发者在线会议上宣布,微软将开源全部.NET核心运行时,并将.NET 扩展为可在...开发商们将能够在全球三个最大操作系统上使用.NET框架了。...Mono 老大Miguel de Icaza 也在博客中针对这个事件发布博文:Microsoft Open Sources .NET and Mono, 09年公开源代码使用参考协议 Open Source...开放封闭是伪命题,巨头可以变着把戏玩 微软宣布.NET开发环境将开源 支持Mac OS X和Linux 微软宣布将开源.NET核心运行时,并将支持Linux和Mac OS 拥抱开源,走向跨平台:微软全面的端到端解决方案让开发者如虎添翼...編譯器 .NET 開源三部曲(二): ASP.NET vNext 開源及 .NET Core .NET 開源三部曲(三):如何迎接新 .NET 時代

    1.3K60

    dotnet 将C#编译为wasm让前端html使用

    现在还能用来写前端,本文就来告诉大家如何在前端使用现有的C#代码,通过 WebAssembly 使用 C# 代码支持完全静态网页,也就是不需要任何后台存在。.../mono/framework/WebAssembly.Net.Http.dll Program.cs 注意将 f:/lindexi/mono 文件夹替换为你刚才解压缩 mono 运行时所在文件夹...原因是在 wasm 会先运行一个 .NET 运行时,由 .NET 运行时执行这个 IL 文件 单独一个 Example.dll 文件是不能直接运行,如上面所说,需要添加一个.NET运行时。...但是一个 .NET 运行时是超级大,难道要用户每次打开网页都下载一个这么大运行时?...使用文件了,而刚才编译 Example.dll 就放在 managed 文件夹里面 下一步就是如何在 html 中使用刚才编译出来 Excample.dll 文件了,这部分感谢前端小智协助 需要在

    2.5K10
    领券