ResourceManager无法通过指定的密钥获取值

时间:2011-09-19 17:55:10

标签: c# .net silverlight resourcemanager

我正试图从Resource获取一些值。但每次它给我以下错误:

  

[MissingManifestResource_NoNeutralAsm]   参数:FreakyBoss.Client.Resources.Language.resources,FreakyBoss.Client   调试资源字符串不可用。通常,密钥和参数提供了足够的信息来诊断问题。见http://go.microsoft.com/fwlink/?linkid=106663&Version=5.0.60401.00&File=mscorlib.dll&Key=MissingManifestResource_NoNeutralAsm

我的代码是这样的:

    private readonly ResourceManager _resourceManager;
    public TranslationProvider() {
        _resourceManager = new ResourceManager("FreakyBoss.Client.Resources.Language", Assembly.GetExecutingAssembly());
    }
    public string GetResourceValue(string key) {
        return _resourceManager.GetString(key);
    }

我的解决方案结构:

enter image description here

我不知道是什么问题。我有两个资源文件,如上图所示。 我认为BaseName中构造函数的ResourceManager参数存在问题。 但我不知道该如何解决这个问题。

任何建议都会有所帮助。

1 个答案:

答案 0 :(得分:1)

根据我的理解,您需要拥有默认资源,然后添加特定于语言的资源。所以在你的情况下你会(假设en是默认值):

  • Language.resx
  • Language.fa.resx

资源文件已经生成了所有代码,因此您不必编写代码来生成资源管理器。只需访问Language.ResourceManager属性。