c#warning - 使用NeutralResourcesLanguageAttribute标记程序集

use*_*400 21 c# warnings fxcop

我收到以下警告: " CA1824标记具有NeutralResourcesLanguageAttribute的程序集"

根据MSDN,原因是:程序集包含基于ResX的资源,但没有应用System.Resources.NeutralResourcesLanguageAttribute.

谁能解释一下这意味着什么?我不想定义具体的文化背景.我希望它们可以自定义.

Ada*_*lph 28

NeutralResourcesLanguageAttribute向资源管理器通知用于显示主程序集中包含的资源的语言.例如,如果您对程序集进行编码以使其包含英语资源,那么请在AssemblyInfo.cs中包含以下行

[assembly: NeutralResourcesLanguage("en")]
Run Code Online (Sandbox Code Playgroud)

这样,当用英语查找资源时,资源管理器不会查找英文文化附属程序集,而只是使用主程序集中包含的资源.这纯粹是一种性能优化.

  • 您还可以转到项目属性,然后转到应用程序选项卡.单击"装配信息".最后一次下拉标记为"中性语言".你也可以在这里改变它. (2认同)

Lui*_*eia 7

前面的答案解释了如何修复 AssemblyInfo.cs 文件,但如果您没有该文件,则可以直接在 CSPROJ 文件上执行此操作(在 .NET 或 .NET Core 中):

<PropertyGroup>
  <NeutralLanguage>en</NeutralLanguage>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)