2010-05-26 39 views
0

在VB.Net 2008中开发一个多语言应用程序,我可以添加资源到窗体并根据uiculture创建一个多语言窗体。在阅读Msdn为消息框内容创建多语言字符串值时,已将.resource文件添加到指定的项目文件路径中。有上编译没有错误,但抛出MissingManifestResourceException错误vb.net 2008多语言字符串显示添加资源错误:MissingManifestResourcesException

昏暗RM作为ResourceManager的 RM = ResourceManager.CreateFileBasedResourceManager( “strFormResources”,”。 “为Nothing) 昏暗的CI作为CultureInfo的 CI =新的CultureInfo(” FR- FR “) MessageBox.Show(rm.GetString(” 样本“ ,CI))

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

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

在此先感谢

回答

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 
+0

创建名称为“样本”的字符串资源,并把字符串资源名称“样本”。但它重复了我同样的错误。 – Naresh 2010-05-26 10:37:14

+0

@Naresh:发布更新,显示如何使用My.Resources – 2010-05-26 10:57:17

+0

谢谢,hans Passant,为我解决了...... – Naresh 2010-05-27 10:48:05