C# Visual Studio 2019 语法错误的红色波浪线在打开 "Open a local folder" 文件时不可见

C# Visual Studio 2019 red squigglies for syntax error not visible when "Open a local folder" file is opened

我发现如果我在 Visual Studio 2019 v16.9.3 中以不同的方式打开同一个 C# 文件,我可以在文本编辑器中得到红色波浪线,也可以不得到。

我正在学习教程(PluralSight、C# 基础知识)并创建了一个结构如下的目录:

教程指示我使用 Visual Studio 主屏幕上的“打开本地文件夹”选项打开文件夹。但是,当我这样做时,我的代码中没有红色波浪线表示错误。但是,如果我通过 Ctrl+Shift+O 打开项目并选择上面列出的“GradeBook.csproj”文件,一切似乎都很好。

为了澄清,我在下面提供了一些屏幕截图:

File opened with: Open a local folder

File opened with: Open a project/solution

如果出现图像问题,这两张图像显示的是通过上述两种方法打开的同一个 Program.cs 文件的图片。文件中的代码如下:

using System;

namespace Gradebook
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
            
            int x = "L";
            x.grade();
        }
    }
}

第一张图片(通过“打开本地文件夹”打开的文件)在两个语法错误的行下没有显示红色波浪线,而第二张图片(通过 Ctrl+Shift+O 打开)显示红色波浪线。

有人知道我如何才能在解决方案资源管理器中打开整个父文件夹,同时还能看到红色波浪形吗?

最后一点:我还注意到,当通过本地文件夹打开文件时,键入 opening/closing 大括号(“{”)不会像通过打开文件时那样自动完成project/solution.

发生这种情况是因为当您作为本地文件夹打开时,您只是在浏览文件,Visual Studio 实际上并未加载您的项目。当您打开 .csproj 文件时,Visual Studio 知道您正在打开一个项目并正确加载所有内容。很奇怪,您正在学习的教程没有提供包含项目和额外文件的正确解决方案文件。

要打开父文件夹,您需要在某处创建一个空的解决方案项目,然后将文件粘贴到该文件夹​​中,在解决方案资源管理器(VS 内)上单击以显示所有文件(否则您粘贴文件不会显示)然后将这些文件添加到您的解决方案中(右击,添加)。然后将 csproj 添加为现有项目(右键单击解决方案,添加现有项目,一旦您尝试添加它,VS 就会让您 select 它)。

或像您一样使用 VSCode,VSCode 确实不同于 Visual Studio :)