所以我正在尝试为我的终端/控制台应用程序同时使用 Console.BufferWidth
和 Console.BufferHeight
方法。我收到此错误:
Unhandled Exception: System.PlatformNotSupportedException: Operation is not supported on this platform.
at System.ConsolePal.set_BufferHeight(Int32 value)
at System.Console.set_BufferHeight(Int32 value)
这是否与我在Mac上编程有关,并且Mac无法支持这样的操作?还是有其他原因?
对我来说:
- 这似乎是一个非常明确的错误消息;和
- 您无法在 Mac 上分配给该值并不让我感到惊讶(我知道您不能在单声道下)。
奇怪的是,您报告了与BufferHeight
相关的消息,而不是BufferWidth
,但我猜您已经尝试设置这两个属性。
您可以发现引发 PlatformNotSupportedExceptions 的代码
-
安装 nuget 包Microsoft.DotNet.Analyzers.Compatibility
Install-Package Microsoft.DotNet.Analyzers.Compatibility -Version 0.2.12-alpha
-
按照此处所述配置工具
-
选择规则 PC001,然后选择将规则集严重性设置为错误
- 生成项目时,与
PlatformNotSupportedExceptions
相关的任何问题都会在"错误"窗口中显示为错误
您只能像这样编写代码来执行 Windows 中的代码:
if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
{
Console.BufferHeight = 9999 ;
// ... More code stuff
}