Search code examples
c#warningsfxcop

c# warning - Mark assemblies with NeutralResourcesLanguageAttribute


I'm getting the following warning:

CA1824 Mark assemblies with NeutralResourcesLanguageAttribute

According to MSDN, the cause of this is:

An assembly contains a ResX-based resource but does not have the System.Resources.NeutralResourcesLanguageAttribute applied to it.

Could anyone please explain what it means?
I don't want to define a specific cultural setting.
I want them to be customizable.


Solution

  • The NeutralResourcesLanguageAttribute informs the resource manager of the language that was used to display resources which are contained in the main assembly. E.g. if you coded your assembly so that it contains resources which are in English, then include the following line in your AssemblyInfo.cs

    [assembly: NeutralResourcesLanguage("en")]
    

    This way, when looking up resources in English, the resource manager will not look for an English culture satellite assembly, but rather just use the resources contained in the main assembly. This is purely a performance optimisation.