在ASP .NET Core 3.1中调用LoggerExtensions方法时,禁用/关闭FxCop CA1303

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

我希望我的日志使用英语,因此不希望对其进行本地化。

我在ASP .NET Core 3.1中有一个项目,在其中添加了nuget软件包Microsoft.CodeAnalysis.FxCopAnalyzers版本3.0.0,并且在对_logger.LogInformation("")的所有调用中都收到警告CA1303。

我曾尝试使用use_naming_heuristicexcluded_type_names_with_derived_types,但它们似乎不适用于Microsoft.Extensions.Logging.LogginExtensionsMicrosoft.Extensions.Logging.ILogger,所以我总是收到警告。

这是我的.editorconfig文件:

[*.cs]

# CA1303: Do not pass literals as localized parameters
dotnet_code_quality.CA1303.use_naming_heuristic = false
dotnet_code_quality.CA1303.excluded_type_names_with_derived_types = ClassA|LoggerExtensions|ILogger

我有一个注入了ClassA的类ILogger<ClassA>

internal class ClassA : IClassA
{
    private readonly ILogger<ClassA> _logger;

    public ClassA(ILogger<ClassA> logger)
    {
        _logger = logger;
    }

    public void Initialize()
    {
        _logger.LogInformation("Initializing..."); // <- Always get the CA1303 in this string.
    }
}

[我尝试使用true / false,我也尝试添加ILogger<>ILogger<T>ILogger<ClassA>,但是没有什么可以使警告消失。

我是否误解了此功能并错误地配置了此规则,或者这里可能存在错误?

编辑:

我添加了一个自定义类,称为MyLogger,该类继承自IMyLogger,该类被注入了ILogger。我将IMyLogger注入到ClassA类中,并将excluded_type_names_with_derived_types中的类型替换为IMyLoggerMyLogger,而CA1303仍然存在。我重建甚至重新启动了VS2019 16.5.4,但它仍然存在。

c# fxcop asp.net-core-3.1
1个回答
0
投票
© www.soinside.com 2019 - 2024. All rights reserved.