vb.net 2008多语言字符串显示添加资源错误:MissingManifestResourcesException

时间:2010-05-26 08:12:13

标签: vb.net visual-studio-2008 multilingual messagebox

在VB.Net 2008中开发多语言应用程序,我能够为表单添加资源,并根据养殖创建多语言表单。在阅读Msdn创建消息框内容的多语言字符串值时,已将.resource文件添加到指定的项目文件路径中。编译时没有错误,但会抛出MissingManifestResourceException错误

Dim rm As ResourceManager             rm = ResourceManager.CreateFileBasedResourceManager(“strFormResources”,“。”,Nothing)             Dim ci As CultureInfo             ci =新文化信息(“fr-FR”)             MessageBox.Show( rm.GetString (“sample1”,ci))

无法找到适合磁盘上指定区域(或中性文化)的任何资源。 baseName:strFormResources locationInfo:fileName:strFormResources.resources

项目的资源中有strFormResources.resources和strFormResources.fr-FR.resources。  我已搜索此错误详细信息但无法找到解决方案。我做错了什么,或者是否有其他方法在消息框中显示多语言字符串。

提前致谢

1 个答案:

答案 0 :(得分:0)

lblBrowsefoldertoputconvertedfiles也许是一个暗示。您应该传递字符串资源名称,而不是包含资源的目录的名称。

要“正确”执行此操作,请务必充分利用My.Resources功能。请按以下步骤操作:

  • 项目+添加新项目,常规,资源文件
  • 将其命名为Resources.fr-FR.resx,然后单击添加
  • 字符串资源编辑器自动打开。现在使用法语作为语言添加原始字符串表中的字符串。
  • 编译。
  • 查看项目的bin \ Debug文件夹,确认您现在看到了附属程序集。它应该使用项目 .resources.dll名称存储在fr-FR目录中。

通过在表单上放下一个按钮并编写此代码来测试:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    System.Threading.Thread.CurrentThread.CurrentUICulture = _
        System.Globalization.CultureInfo.GetCultureInfo("fr-FR")
    MessageBox.Show(My.Resources.String1)
End Sub