.net CSC:警告SA 1516:元素应使用空行分隔->不显示文件

1l5u6lss  于 2023-02-26  发布在  .NET
关注(0)|答案(4)|浏览(137)

当它发生在顶级程序中时,SA1516不发出相应的文件:

哪个文件叫CSC?我想通过在必要的地方添加空行来解决这个SA1516警告。在其他编译警告和错误中,我只需要点击错误,它就会引导我打开相应的文件和行。这种情况下不会发生这种行为。

dgiusagp

dgiusagp1#

我今天也遇到了这个问题。
显式地将命名空间、类和Main方法添加到Program类有助于解决这个问题。棘手的是,在所有这些之后,您仍然需要重新启动VS才能让StyleCop识别更改,这使得很难找到解决方案:-)
之前代码:

using System.SomeNamespace;

var builder = WebApplication.CreateBuilder(args);
Something1();
var app = builder.Build();
Something2();
app.Run();

后面的代码:

using System.SomeNamespace;

namespace Name.Of.Namespace
{
    public class Program
    {
        public static void Main(string[] args)
        {
            var builder = WebApplication.CreateBuilder(args);
            Something1();
            var app = builder.Build();
            Something2();
            app.Run();
        }
    }
}

不要忘记重新启动VS并重新构建项目。

xpszyzbs

xpszyzbs2#

通过在Program.cs中的不同语句之间添加空行解决。请参见以下示例:

PS:基于菲利普·库坦的回答。

ht4b089n

ht4b089n3#

顶级语句为introduced in C# 9
StyleCop 1.1是StyleCop的最新稳定版本,官方最高支持C# 7.3。
StyleCop 1.2仍是预发行版,但支持C# 8.0。虽然不是正式的C# 9支持,但它解决了此问题的误报警告。您可能需要尝试升级到latest beta package

<PackageReference Include="StyleCop.Analyzers" Version="1.2.0-beta.435">

升级包后重新启动Visual Studio以清除不正确的警告。

lsmepo6l

lsmepo6l4#

当我们使用react模板在VS 2022上创建一个新的ASP.NET Core SPA应用程序,添加StyleCop和Code Cracker并构建解决方案时,我们在CSC上遇到了这个错误。
添加命名空间和主程序如上所述,然后重新启动VS 2022和重建它-错误被修复!

相关问题