我希望我的日志使用英语,因此不希望对其进行本地化。
我在ASP .NET Core 3.1中有一个项目,在其中添加了nuget软件包Microsoft.CodeAnalysis.FxCopAnalyzers
版本3.0.0,并且在对_logger.LogInformation("")
的所有调用中都收到警告CA1303。
我曾尝试使用use_naming_heuristic
和excluded_type_names_with_derived_types
,但它们似乎不适用于Microsoft.Extensions.Logging.LogginExtensions
或Microsoft.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
中的类型替换为IMyLogger
和MyLogger
,而CA1303仍然存在。我重建甚至重新启动了VS2019 16.5.4,但它仍然存在。