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

Disable / Turn off FxCop CA1303 when calling LoggerExtensions methods in ASP .NET Core 3.1

提问人:JoanComasFdz 提问时间:5/12/2020 最后编辑:JoanComasFdz 更新时间:5/12/2020 访问量:249

问:

我希望我的日志是英文的,因此不想本地化它们。

我在 ASP .NET Core 3.1 中有一个项目,我在其中添加了 nuget 包版本 3.0.0,并且在对 .Microsoft.CodeAnalysis.FxCopAnalyzers_logger.LogInformation("")

我尝试使用 和 ,但它们似乎没有使用 或 ,所以我总是收到警告。use_naming_heuristicexcluded_type_names_with_derived_typesMicrosoft.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

我有一个注入的类:ClassAILogger<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.
    }
}

我尝试使用/,我也尝试添加,但没有什么能使警告消失。truefalseILogger<>ILogger<T>ILogger<ClassA>

是我误解了这个功能,把这个规则配置错了,还是这里可能存在错误?

编辑:

我添加了一个名为inheriting的自定义类,该类可以注入。我将 注入 ClassA 类并用 和 替换 中的类型,CA1303 仍然存在。我重建甚至重新启动了 VS2019 16.5.4,但它仍然存在。MyLoggerIMyLoggerILoggerIMyLoggerexcluded_type_names_with_derived_typesIMyLoggerMyLogger

C# FXCOP ASP.net-核心 3.1

评论


答:

1赞 JoanComasFdz 5/12/2020 #1

这是一个已在版本 3.3.0-beta1.20261.6 中修复的错误。

源:MVC Core LogCritical 等消息不应触发 CA1303 #3254

评论

0赞 user8231110 8/4/2020
我不被允许使用测试版。还有什么替代解决方案?