首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >netcoreapp2.1中的Console.BufferHeight在Ubuntu中引发异常PlatformNotSupportedException

netcoreapp2.1中的Console.BufferHeight在Ubuntu中引发异常PlatformNotSupportedException
EN

Stack Overflow用户
提问于 2019-05-09 23:57:01
回答 1查看 53关注 0票数 0

我在dotnetcorapp2.1中构建了一个控制台应用程序。它在Windows上运行很好。

当试图在Ubuntu上运行时,它会引发一个异常错误:

System.PlatformNotSupportedException:此平台不支持操作。at System.ConsolePal.set_BufferHeight(Int32值)

这是因为这一行:

代码语言:javascript
复制
     Console.BufferHeight = Int16.MaxValue - 1;

这个文档没有提到我为Console.BufferHeight考虑的限制

谷歌没有像那样帮忙

Console.BufferHeight (和BufferWidth)在Ubuntu上的局限性是什么?

EN

回答 1

Stack Overflow用户

发布于 2019-05-11 04:05:50

我已经把这个问题发到协折队上,并在那里提交了一个问题

这个答案的所有功劳都在@danmosemsft

Unix不支持成员Console.BufferHeight。docs没有在控制台方法/属性上声明Unix特定的行为。

文档ConsolePal中的类ConsolePal.Unix.cs还包括其他NotSupported成员。

创建一个新的文档以在System.Console中显示PlatformNotSupportedExceptions

我修改了代码并将PlatformNotSupportedException单独捕获,并且应用程序在Ubuntu上运行,没有任何问题。

代码语言:javascript
复制
      try
      {
         //.... do your stuff here
      }
      catch (PlatformNotSupportedException )
      {
        //log PlatformNotSupportedException 
        //noop
      }
      catch (exception ex)
      {

         //handle exception
      }

编辑

发现引发PlatformNotSupportedExceptions:的代码的

  • 安装nuget包Microsoft.DotNet.Analyzers.Compatibility 安装-Package Microsoft.DotNet.Analyzers.Compatibility -Version 0.2.12-alpha
  • 按照描述的这里配置该工具
  • 选择规则PC001并选择“设置规则集严重性为错误”
  • 生成项目时,与PlatformNotSupportedExceptions相关的任何问题都会显示为错误窗口中的错误。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56069014

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档