c# warning - Mark assemblies with NeutralResources

2019-03-23 11:28发布

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 specific culture setting. I want them to be customisable.

2条回答
Anthone
2楼-- · 2019-03-23 11:30

The NeutralResourcesLanguage attribute tells the resource manager about the language used in your neutral resources (the resources whose filename don't have a culture code suffix, e.g. YourModule.resx). That information can be used during the resource fallback process.

查看更多
兄弟一词,经得起流年.
3楼-- · 2019-03-23 11:49

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.

查看更多
登录 后发表回答