如何避免“建议”上的构建错误?

问题描述 投票:0回答:1

我正在尝试构建一个 .NET 8 项目。 我收到了很多错误。

例如,

enter image description here

现在,在编辑器中,这个“错误”被设置为“建议”。

enter image description here

这是我的代码样式设置。

enter image description here

最后,这是我的

.csproj
文件。

<Project Sdk="Microsoft.NET.Sdk.Web">
    <PropertyGroup>
        <ManagePackageVersionsCentrally>false</ManagePackageVersionsCentrally>
        <TargetFramework>net8.0</TargetFramework>
    </PropertyGroup>
    <ItemGroup>
        <PackageReference Include="AutoMapper" Version="13.0.1"/>
        <PackageReference Include="Azure.Extensions.AspNetCore.Configuration.Secrets" Version="1.3.1"/>
        <PackageReference Include="Azure.Identity" Version="1.12.0"/>
        <PackageReference Include="Azure.Security.KeyVault.Certificates" Version="4.6.0"/>
        <PackageReference Include="Azure.Security.KeyVault.Secrets" Version="4.6.0"/>
        <PackageReference Include="Azure.Storage.Blobs" Version="12.21.1"/>
        <PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="8.0.7"/>
        <PackageReference Include="Microsoft.CodeAnalysis.NetAnalyzers" Version="8.0.0">
            <PrivateAssets>all</PrivateAssets>
            <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
        </PackageReference>
        <PackageReference Include="Microsoft.EntityFrameworkCore" Version="8.0.7"/>
        <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="8.0.7"/>
        <PackageReference Include="Microsoft.Identity.Web" Version="3.0.1"/>
        <PackageReference Include="Newtonsoft.Json" Version="13.0.3"/>
        <PackageReference Include="RestSharp" Version="106.15.0"/>
        <PackageReference Include="Swashbuckle.AspNetCore" Version="6.5.0"/>
        <PackageReference Include="Swashbuckle.AspNetCore.Filters" Version="8.0.2"/>
        <PackageReference Include="Swashbuckle.AspNetCore.Newtonsoft" Version="6.7.0"/>
        <PackageReference Include="ZiggyCreatures.FusionCache" Version="1.2.0"/>
        <PackageReference Update="NuProj.Common" Version="0.11.30">
            <PrivateAssets>all</PrivateAssets>
            <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
        </PackageReference>
        <PackageReference Update="Microsoft.Internal.Analyzers" Version="2.9.7">
            <PrivateAssets>all</PrivateAssets>
            <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
        </PackageReference>
        <PackageReference Update="OSS.RoslynAnalysis" Version="1.4.11"/>
        <PackageReference Update="StyleCop.Analyzers" Version="1.1.118">
            <PrivateAssets>all</PrivateAssets>
            <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
        </PackageReference>
        <PackageReference Remove="Microsoft.CodeAnalysis.FxCopAnalyzers"/>
    </ItemGroup>
</Project>

在哪里更改此错误的严重性以及为什么在编辑器中更改其严重性在构建过程中没有反映?

我没有任何样式/编辑器配置文件。

谢谢!

msbuild roslyn jetbrains-ide rider stylecop
1个回答
0
投票

这里有很多不同的分析器。我建议选择一个并使其代码库与它保持一致。我会坚持使用微软的。

除了您正在使用的分析器包之外,Rider 还有自己的分析器,这是您在 IDE 中配置的。这些可能会或可能不会与其他分析器冲突,因此建议坚持使用一组特定的分析器。

屏幕截图中的 SA1633 和通用 StyleCop 分析仪中的

SAXXXX

。配置这些的方法不是通过 IDE,而是如
StyleCop 文档中所述。不过,我建议总体上远离 stylecop。 stylecop 分析器非常过时,并且不支持新的语言功能。他们最多支持 C# 8,相当于 .net 3。Dotnet 8 支持 C# 12...

行为良好的分析器应遵守

.editorconfig/globalconfig 文件中指定的配置。 stylecop 文档没有提到 .editorconfig,但它是受支持的。 Rider 的分析器肯定也支持这些文件。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.