Jay*_*zor 3 c# visual-studio-code
我刚刚开始在Youtube 上跟随Brackeys学习C#。在编写时,我在 vscode 中弹出了这个问题:
{
"resource": "/d:/OneDrive/Programming/Youtube/brackeys/How To Program In C#/Basics/Program.cs",
"owner": "msCompile",
"code": "CA1416",
"severity": 4,
"message": "This call site is reachable on all platforms. 'Console.WindowHeight.set' is only supported on: 'windows'. [D:\\OneDrive\\Programming\\Youtube\\brackeys\\How To Program In C#\\Basics\\Basics.csproj]",
"startLineNumber": 11,
"startColumn": 13,
"endLineNumber": 11,
"endColumn": 13
}
Run Code Online (Sandbox Code Playgroud)
我发现这篇微软文章在谈论这个警告,但我不明白解决方案是否真的是这样:(...
我有一个简单的程序,只是了解控制台类更改终端高度和字体颜色等:
using System;
namespace Basics
{
class Program
{
static void Main(string[] args)
{
Console.Title = "Skynet";
Console.ForegroundColor = ConsoleColor.Green;
Console.WindowHeight = 40;
Console.WriteLine();
Console.ReadKey();
}
}
}
Run Code Online (Sandbox Code Playgroud)
有没有人知道如何解决这个问题?
Taw*_*kil 27
如果您知道自己只针对 Windows 进行开发,则可以将代码标记为:
using System.Runtime.Versioning;
[SupportedOSPlatform("windows")]
class Program
{
...
}
Run Code Online (Sandbox Code Playgroud)
这种方法的优点是您可以避免在代码中添加 IF 语句来检查操作系统版本。
如果您不希望它应用于整个类,您也可以通过这种方式标记特定方法。
或者警告可能会提到特定的操作系统版本,如下所示:
“程序”仅在“Windows”7.0 及更高版本上受支持。
在这种情况下,您可以指定版本:
[SupportedOSPlatform("windows7.0")]
Run Code Online (Sandbox Code Playgroud)
另见这个问题。
小智 10
所以错误是关于这一行:
Console.WindowHeight = 40;
Run Code Online (Sandbox Code Playgroud)
你尝试设置Window Height,这是一个用[SupportedOSPlatform("windows")]
属性修饰的方法。
为了告诉应用程序仅在 Windows 包装方法时执行这一行。
if (OperatingSystem.IsWindows())
{
Console.WindowHeight = 40;
}
Run Code Online (Sandbox Code Playgroud)
编译器将识别出这一点并停止抛出该评论。
在项目文件中指定以下行:
<PropertyGroup>
<TargetFramework>net7.0-windows</TargetFramework>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1121 次 |
最近记录: |