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

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

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

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

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

[assembly: NeutralResourcesLanguage("en")] 

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

NeutralResourcesLanguage属性告诉资源管理器中性资源中使用的语言(文件名没有文化代码后缀的资源,例如YourModule.resx )。 可以在资源回退过程中使用该信息。