【问题标题】:Can't read a resource file无法读取资源文件
【发布时间】:2011-02-25 16:14:12
【问题描述】:

这是我检索资源文​​件时的代码。

ResourceManager resourceManager = ResourceManager.CreateFileBasedResourceManager("Resource.resx", @"c:\", null);  

resourceValue = resourceManager.GetString("key1");

但我每次运行时都会遇到这个异常。

找不到任何资源 适用于指定的文化 (或中性培养)在磁盘上。 基本名称:Resources.resx 位置信息:空文件名: 资源.resx.resources

我的代码有什么问题?

【问题讨论】:

标签: c# .net


【解决方案1】:

Steven 是对的,它正在寻找一个 .ressources 文件。你需要用 resgen 编译你的 resx 文件:http://msdn.microsoft.com/en-us/library/ccec7sz1(v=vs.71).aspx

更多信息:resx 文件只是描述如何创建资源文件的文件。当你用 resgen 编译它(编译正确的词吗?)时,它会获取所有图像、文本等,并将它们合并到你可以分发和使用的真实资源文件中。

我建议阅读以下内容,它可能会有所帮助:http://edndoc.esri.com/arcobjects/9.1/ArcGISDevHelp/DevelopmentEnvs/DotNet/WorkingWithResources.htm

【讨论】:

    【解决方案2】:

    它正在寻找一个不同的文件,as mentioned on msdn,并在您的异常消息中。

    基本名称 类型:System.String 资源的根名称。例如,根名称 资源文件名为 “MyResource.en-US.resources”是 “我的资源”。

    当将“Resource”作为 baseName 传递给方法时,您的文件应命名为“Resource.resources”。当您需要针对不同文化的自定义资源时,您应该将它们命名为“Resource.en-US.resources”,其中“en-US”部分替换为所需的ISO culture name

    【讨论】:

    • @yonan2236:更新了答案。正如 Sébastien 所说,您当然需要确保拥有有效的资源文件。
    猜你喜欢
    • 2011-10-12
    • 2014-06-07
    • 1970-01-01
    • 2018-11-12
    • 2023-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多