He creado un conjunto y luego lo he cambiado de nombre.No se han encontrado recursos apropiados para la cultura especificada o la cultura neutral
Entonces empecé a recibir los errores de ejecución cuando se llama:
toolsMenuName = resourceManager.GetString(resourceName);
La variable resourceName
es "enTools" en tiempo de ejecución.
No se pudo encontrar ningún recurso apropiados para la cultura especificada o la cultura neutral. Asegúrese de que los "Jfc.TFSAddIn.CommandBar.resources" se ha incrustado o vinculado correctamente en asamblea "Jfc.TFSAddIn" en tiempo de compilación tiempo, o que todos los satélites montajes requeridos son cargables y totalmente firmados.
El código:
string resourceName;
ResourceManager resourceManager = new ResourceManager("Jfc.TFSAddIn.CommandBar", Assembly.GetExecutingAssembly());
CultureInfo cultureInfo = new CultureInfo(_applicationObject.LocaleID);
if(cultureInfo.TwoLetterISOLanguageName == "zh")
{
CultureInfo parentCultureInfo = cultureInfo.Parent;
resourceName = String.Concat(parentCultureInfo.Name, "Tools");
}
else
{
resourceName = String.Concat(cultureInfo.TwoLetterISOLanguageName, "Tools");
}
toolsMenuName = resourceManager.GetString(resourceName); // EXCEPTION IS HERE
puedo ver el archivo CommandBar.resx incluido en el proyecto, puedo abrirlo y puedo ver la cadena "enTools" allí. Parece que los recursos no están incluidos en el ensamblado o el recurso están incluidos, pero .NET no puede resolver el nombre.
"compruebe si el ensamblado que contiene recursos tiene el espacio de nombres predeterminado configurado para el mismo texto (Proyecto-> Propiedades-> Espacio de nombres predeterminado; en VS)" - ¿el mismo texto de qué? –
+1 para 'Compruebe también si el archivo resx tiene una propiedad BuildAction establecida en "Recurso incrustado"' = Facepalm – Andiih
Te amo hombre :) – Bergkamp