簡體   English   中英

.NET 6 StyleCop.Analyzers 忽略“documentationCulture”:“en-GB”

[英].NET 6 StyleCop.Analyzers ignores "documentationCulture": "en-GB"

我使用 .NET 6 SDK (6.0.400),我有最簡單的項目,涉及StyleCop.Analyzersstylecop.json

ClassLibrary1.csproj:

<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
    <TargetFramework>net6.0</TargetFramework>
    <ImplicitUsings>enable</ImplicitUsings>
    <Nullable>enable</Nullable>
    <GenerateDocumentationFile>true</GenerateDocumentationFile>
</PropertyGroup>

<ItemGroup>
    <AdditionalFiles Include="stylecop.json" Link="stylecop.json" />
</ItemGroup>

<ItemGroup>
  <PackageReference Include="StyleCop.Analyzers" Version="1.1.118">
    <PrivateAssets>all</PrivateAssets>
    <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
  </PackageReference>
</ItemGroup>

Class1.cs:

// <copyright file="Class1.cs" company="My Company">
// Copyright (c) My Company. All rights reserved.
// </copyright>

namespace ClassLibrary1;

/// <summary>
/// Comment.
/// </summary>
public class Class1
{
    /// <summary>
    /// Initialises a new instance of the <see cref="Class1"/> class.
    /// Comment.
    /// </summary>
    public Class1()
    {
    }
}

stylecop.json:

 {
  "$schema": "https://raw.githubusercontent.com/DotNetAnalyzers/StyleCopAnalyzers/master/StyleCop.Analyzers/StyleCop.Analyzers/Settings/stylecop.schema.json",
  "settings": {
    "documentationRules": {
      "companyName": "My Company",
      "documentationCulture": "en-GB"
    }
  }
}

編譯時,IDE(VS、Rider)和 CLI 報告以下警告:

警告 SA1642:構造函數摘要文檔應以標准文本開頭

請注意,我在stylecop.json中有明確的“documentationCulture”:“en-GB” ,並且Class1構造函數在注釋中有“ Initialis es ”字樣,這對於“en-GB”文化是正確的。 但是 StyleCop 希望我將這個詞更改為“en-US”文化的默認“Initiali z es”詞,因此忽略文檔文化參數值。

我看到這個問題幾年來在 GitHub 上的各種主題上一直存在,但我在任何地方都看不到真正有效的解決方案。

簡單的解決方案

這似乎是一個已知的StyleCop.Analyzers問題:

粗略地說,解決方案是:

  1. 與維護者交流(例如,通過發表關於 GitHub 問題的評論)。
  2. 如果適用,等待具有已解決問題的下一個StyleCop.Analyzers版本。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM