【问题标题】:MonoDevelop reports my platform incorrectly on LinuxMonoDevelop 在 Linux 上错误地报告我的平台
【发布时间】:2017-01-10 22:12:09
【问题描述】:

我正在使用带有 MonoDevelop 5.9.6 的 Xubuntu 16.04 LTS。我创建了一个控制台应用程序,这是唯一的代码:

public static void Main (string[] args)
{
    Console.WriteLine (new PlatformID());
}

但是,在控制台中,这是输出:

Win32S

为什么它错误地检测到我的平台?我显然没有使用 Windows。

【问题讨论】:

    标签: c# linux windows mono operating-system


    【解决方案1】:

    PlatformID 是来自System 的枚举,不是您可以实例化的类,所以我不确定您的代码是否符合要求。

    如果您想要操作系统版本和/或平台,您可以通过以下方式获得它:

    代码片段:

    var os = Environment.OSVersion;
    var pid = os.Platform;
    Console.WriteLine($"{os}");
    Console.WriteLine($"{pid}");
    

    输出:

    Unix 15.6.0.0
    Unix
    

    【讨论】:

    • 如果没有“new”,代码将无法编译,并且 Mono 会抛出错误“表达式表示 type,其中预期为 variable、value 或 method group”和 @987654321 @告诉我添加“新”。虽然您的回答没有解释为什么“new PlatformID()”返回“Win32S”,但它确实告诉了我如何获取平台,所以谢谢!
    猜你喜欢
    • 1970-01-01
    • 2015-04-03
    • 1970-01-01
    • 1970-01-01
    • 2011-08-26
    • 2012-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多