簡體   English   中英

樣板文件上的 CA1304

[英]CA1304 on Boilerplate

我們有一個用 .NET Core 2.2 編寫的相當大的項目,更新到 Abp 4.10.1,我們通過 Abp 的模板啟動。

最近我在項目中添加了Roslyn 分析器,現在我們在L 方法的每個實例上都有數百條警告。

例子:

case AbpLoginResultType.InvalidPassword:
    return new UserFriendlyException(L("LoginFailed"), L("InvalidUserNameOrPassword"));

給我們:

警告 CA1304 “AbpServiceBase.L(string)”的行為可能因當前用戶的區域設置而異。 將“AbpLoginResultTypeHelper.CreateExceptionForFailedLoginAttempt(AbpLoginResultType, string, string)”中的此調用替換為對“AbpServiceBase.L(string, CultureInfo)”的調用。

正如我從文檔中了解到的那樣,L 方法旨在簡化本地化調用並且已經考慮了 culture ,但是將CultureInfo信息添加到每個調用以滿足 Roslyn 分析器的要求會破壞其目的。

我不想在項目級別抑制此警告,我們考慮的其他選項似乎非常耗時。

那么,有沒有一種有效的方法來處理這個問題呢?

文檔顯示了此規則背后的原因和動機。

由您決定這對您重要與否。

暫無
暫無

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

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