.NET6引入了一种新的引导程序语法,它取代了旧的Program.cs/Startup.cs mishmosh。标准模板如下所示:
using ThetaRex.Common;
var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
builder.Services.AddRazorPages();
var app = builder.Build();
// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
app.UseExceptionHandler("/Error");
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseAuthorization();
app.MapRazorPages();
app.Run();
这一切都很好,直到你开始添加自己的代码或其他包。然后我们开始得到SA1200错误,告诉我们"using"语句应该在命名空间中。
警告SA1200:Using指令应出现在命名空间中申报
建议如何处理program.cs的新.NET 6语法?作为一条规则,我尽量避免对规则进行任何和所有的自定义,如果可能的话,我会选择更改我的代码,以便开箱即用StyleCop。这个新的引导程序与StyleCop兼容吗?
如果要在整个代码中使用名称空间,也可以使用新的全局using。
只需创建一个名为Imports.cs(和/或Blazor的_Imports.rarzor(的文件,并将您的using放在那里。
Imports.cs:
global using Microsoft.AspNetCore.Components.Web;
global using System;
global using System.Collections.Generic;
global using System.Linq;
_进口剃须刀:
@using System.Net.Http
@using System.Net.Http.Json
@using System.Text.Json