检索资源文件时,这是我的代码。
ResourceManager resourceManager = ResourceManager.CreateFileBasedResourceManager("Resource.resx", @"c:\", null);
resourceValue = resourceManager.GetString("key1");
但每次运行时都会遇到此异常。
无法找到任何资源 适合指定的文化 (或中性文化)在磁盘上。 baseName:Resources.resx locationInfo:null fileName: Resources.resx.resources
我的代码出了什么问题?
答案 0 :(得分:5)
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
答案 1 :(得分:2)
它正在查找不同的文件as mentioned on msdn,并在您的异常消息中。
baseName的 键入:System.String 资源的根名称。例如,的根名称 资源文件命名 “MyResource.en-US.resources”是 “MyResource”。
将“Resource”作为baseName传递给方法时,应将文件命名为“Resource.resources”。如果您需要针对不同文化的自定义资源,则应将其命名为“Resource.en-US.resources”,其中“en-US”部分将替换为所需的ISO culture name。