【问题标题】:Read values from resx files?从 resx 文件中读取值?
【发布时间】:2010-04-17 11:22:16
【问题描述】:

如何从 c# 中读取 MyResource.resx 文件中的字符串。 我不是从 asp.net 页面调用它,而是从我的业务逻辑调用它。

组装组装 = this.GetType().Assembly;
资源管理器资源管理器 = 新 ResourceManager("消息资源", 部件);
resourceManager.GetString("SCHEME_UNQ");

这里我遇到了异常,

找不到任何资源 适用于指定的文化 或中立文化。确保 “MessagesResource.resources”原为 正确嵌入或链接到 编译时的程序集“App_Web_eerdggo8” 时间,或者说所有的卫星 所需的程序集是可加载的,并且 完全签名。

我该如何解决这个问题????

【问题讨论】:

    标签: asp.net localization globalization


    【解决方案1】:

    将 resx 文件添加到项目后,Visual Studio 将自动生成允许您读取值的设计器类(在 resx 文件的属性中,您必须具有 Custom Tool: ResXFileCodeGenerator)。例如,如果您将 Messages.resx 添加到您的项目中,您可以直接从中读取值:

    string value = Messages.SomeResourceKey;
    

    【讨论】:

    • 我没有从 aspx 页面读取资源文件。我正在尝试从我的 BussinnessLogic.cs(业务逻辑层)中读取此内容。
    • 资源文件是否定义在Web层?
    • 是的.. 它在 App_GlobalResources 文件夹中。这是正确的阅读方式吗..?是否可以使用 Resource Mangaer 读取资源文件??
    • 为了读取在另一个程序集中定义的资源文件,您需要引用该程序集,这意味着在您的情况下,业务逻辑层将需要对 Web 层程序集的引用不好。要么将资源文件放在业务层并使用我演示过的技术,要么将这个逻辑移到 Web 层。
    • ok..如果我将资源文件移动到业务逻辑层...我如何读取文件???我在哪里可以找到 CustomTool:ResxFileCodeGenerator??
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-24
    • 1970-01-01
    • 2010-12-03
    • 1970-01-01
    • 2012-02-04
    • 1970-01-01
    相关资源
    最近更新 更多