2010-11-01 13 views
17

Me estoy poniendo la siguiente advertencia: "CA1824 asambleas Marcar con NeutralResourcesLanguageAttribute"C# advertencia - Marcar conjuntos con NeutralResourcesLanguageAttribute

Según MSDN, la causa de esto es: Un ensamblaje contiene un ResX basado en recursos pero no tiene aplicado el System.Resources.NeutralResourcesLanguageAttribute.

¿Alguien podría explicar lo que significa? No quiero definir la configuración de cultura específica. Quiero que sean personalizables.

Respuesta

20

NeutralResourcesLanguageAttribute informa al administrador de recursos del idioma que se utilizó para mostrar los recursos que están contenidos en el ensamblaje principal. P.ej. si ha codificado su montaje de forma que contenga los recursos que se encuentran en Inglés, a continuación, incluir la siguiente línea en sus AssemblyInfo.cs

[assembly: NeutralResourcesLanguage("en")] 

De esta manera, cuando se esté buscando recursos en Inglés, el administrador de recursos no va a buscar una Conjunto de satélites de cultura inglesa, pero basta con usar los recursos contenidos en el ensamblaje principal. Esto es puramente una optimización del rendimiento.

+0

¿Cómo aplicar la solución si tengo un sitio web, no una aplicación web? No tengo AssemblyInfo.cs. –

+0

Debería poder agregar el atributo en cualquier archivo C# en su solución. De hecho, probablemente solo pueda agregar AssemblyInfo.cs usted mismo de forma manual. –

+2

También puede ir a las propiedades de su proyecto, luego a la pestaña de la aplicación. Haga clic en "Información de la Asamblea". El último menú desplegable está etiquetado como "Idioma neutral". Puedes cambiarlo aquí también. –

4

El NeutralResourcesLanguage attribute le informa al administrador de recursos sobre el idioma utilizado en sus recursos neutrales (los recursos cuyo nombre de archivo no tiene un sufijo de código cultural, por ejemplo YourModule.resx). Esa información se puede usar durante el resource fallback process.

Cuestiones relacionadas