使用asp.net resx文件

时间:2011-12-05 20:11:36

标签: asp.net vb.net

我有一个名为Resources1.resx的resx文件,这个文件是类库Test.WebControls中的位置,这就是我试图使用vb.net从resx文件中获取值的方法。

Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports API.HTML.Controls
Imports API

Public Class BaseCallbackPageControl
    Inherits Controls.BasePageControls

    Private _ResourceManager As Resources.ResourceManager

    Public Function GetResource(ByVal key As String) As String

        If Me._ResourceManager Is Nothing Then
            Me._ResourceManager = New Resources.ResourceManager("Resource1.resx", Reflection.Assembly.GetExecutingAssembly)
        End If

        Return Me._ResourceManager.GetString(key)

    End Function

End Class

但是我一直收到错误“无法找到适合指定文化或中性文化的任何资源。请确保在编译时将”Resource1.resx.resources“正确嵌入或链接到程序集”Test.WebControls“中,或者所需的所有卫星组件都是可装载和完全签名的。“

resx文件也作为资源嵌入。

我做错了什么?

1 个答案:

答案 0 :(得分:1)

如果您通过标准机制添加了资源文件,那么它应该已经自动创建了一个设计器文件,您可以使用该文件直接访问资源和/或特定于该资源文件的资源管理器。

例如,假设此文件中有一个名为string1的字符串资源,您应该能够直接访问它:

Resources1.String1

此外,您可以要求资源代码实例化资源管理器,然后将其用于您的操作:

Resources1.ResourceManager.<do some work>