以编程方式确定Mono运行时版本的推荐方法是什么?
当我们的.Net应用程序与旧版本的Mono一起使用时,我们遇到了各种问题.有时我们可以解决这些问题,如果我们知道我们正在处理哪个版本,但有时我们不能.
我们的解决方案是以编程方式检测Mono版本,然后我们可以透明地应用变通方法.如果Mono版本太旧,那么我们会提示用户升级.
我们可以发现Mono是我们的运行时,有这样的东西:
bool isMonoRuntime = Type.GetType("Mono.Runtime") != null;
Run Code Online (Sandbox Code Playgroud)
我们怎样才能可靠地确定单声道版本而不间接推断它?需要说明的是,我们需要Mono版本号,而不是.Net CLR版本号.
Nir*_*ngh 19
您可以将单声道运行时版本检查为:
Type type = Type.GetType("Mono.Runtime");
if (type != null)
{
MethodInfo displayName = type.GetMethod("GetDisplayName", BindingFlags.NonPublic | BindingFlags.Static);
if (displayName != null)
Console.WriteLine(displayName.Invoke(null, null));
}
Run Code Online (Sandbox Code Playgroud)
选中此如何确定构建和安装当前Mono运行时的修订版本?更多细节.