c#警告-使用NeutralResourcesLanguageAttribute标记程序集

问题描述 投票:22回答:3

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

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

任何人都可以解释一下这是什么意思吗?我不想定义特定的文化背景。我希望它们是可定制的。

c# warnings fxcop
3个回答
29
投票
NeutralResourcesLanguageAttribute通知资源管理器用于显示主程序集中包含的资源的语言。例如。如果您对程序集进行了编码,使其包含英语资源,则在AssemblyInfo.cs中包括以下行]

[assembly: NeutralResourcesLanguage("en")]

这样,当用英语查找资源时,资源管理器将不会寻找英语的文化卫星集会,而只会使用主集会中包含的资源。这纯粹是性能优化。

4
投票
NeutralResourcesLanguage attribute告诉资源管理器您在中性资源(文件名没有文化代码后缀的资源,例如YourModule.resx)中使用的语言。该信息可以在resource fallback process期间使用。

0
投票
如上所述,在AssemblyInfo.cs中添加(如果尚未添加)

using System.Resources;

然后

[assembly: NeutralResourcesLanguage("en")]

© www.soinside.com 2019 - 2024. All rights reserved.