将C ++ .net代码从MSVS2005移植到MSVS2010时未找到资源(?)

时间:2012-08-09 12:46:43

标签: c++ .net windows resources

实际上我不知道这个问题是否已经得到解答,因为我不知道“真正的”问题在哪里。以下是上下文:我有C ++ .NET代码,我试图从MSVS2005移植到MSVS2010,即从.NET 2.0到.NET 4.0。为启动时创建的其中一个表单输入方法 InitializeComponent()时,我在mscorlib.dll 中发生了第一次机会异常 System.Resources.MissingManifestResourceException'调用资源 - > ApplyResources(this-> MyControl,L“MyControl”)

附加信息是:

  

无法找到适合指定文化或中性文化的任何资源。确保在编译时将“MyForm.resources”正确嵌入或链接到程序集“MyAssembly”中,或者所有所需的附属程序集都是可加载和完全签名的。

  1. 使用MSVS2005编译时效果很好。
  2. MSVS2010自动转换所有解决方案。
  3. .resx 文件在那里。
  4. 由于我不知道问题的根源,我不能多说。如果你试图帮助我,我会非常乐意给你更多信息。

    提前感谢您的帮助。

    多米尼克

2 个答案:

答案 0 :(得分:1)

确保您的resx文件和组件的命名空间相同。

我之前看到resx被编译为SomeFoo.MyForm.resources,其中表单位于SomeFoo.Forms.MyForm

答案 1 :(得分:0)

好的,丹尼尔的建议促使我走向解决方案。

我查看了项目中.resx文件的属性。所有文件都不包含“资源逻辑名称”,但包含.resx和.fr.resx文件,其中包含可以在我的计算机上使用的文件。

我删除了虚拟文件名的条目,从那时起一切正常。

谢谢!