未能找到任何适合于指定的区域性或非特定区域性的资源。请确保在编译时已将“定型测试.Frm.resources”正确嵌入或链接到程序集“定型测试”,或者确保所有需要的附属程序集都可加载并已进行了完全签名

这是网友遇到的问题:

平台:VS2008

语言:C++

项目:窗体应用程序

问题:把图片添加为控件(picturebox等等)背景时提示“未能找到任何适合于指定的区域性或非特定区域性的资源。”

完整错误提示:未处理的“System.Resources.MissingManifestResourceException”类型的异常出现在 mscorlib.dll 中。

其他信息: 未能找到任何适合于指定的区域性或非特定区域性的资源。请确保在编译时已将“定型测试.Frm.resources”正确嵌入或链接到程序集“定型测试”,或者确保所有需要的附属程序集都可加载并已进行了完全签名。

发现问题:试了很多方法都无效,新建了工程在排除了其他干扰后发现依然不行。可能有些盲目了,仔细观察了提示,发现可能是命令行出现了问题(这个问题我都抱怨微软了100次),果然这次又是。

简要说明:这个问题是修改了窗体类名而造成了名称不一致而引起的问题,提示是“定型测试.Frm.resources”正确嵌入或链接到程序集“定型测试”,“定型测试”是命名空间,“Frm”是类名

初步解决方案:在工程的属性选项中,找到托管资源,在常规中将

$(IntDir)\$(RootNamespace).$(InputName).resources中的$(InputName)改称你窗体类的名字就行了

再次抱怨:至于为什么会有这样的问题我不知道,但是抱怨微软。这样的问题我遇到了多次,上次更倒霉,更改了Form1.h为MainFrom.h后,发现名字打错了,改成“MainForm.h”结果出问题,提示找不到MainFrom资源问题(奶奶的,明明改回了MainForm,但是资源还是MainFrom),只好同样的方法解决了

后言:这样的方法并不完美,我只是很纳闷,例如$(InputName)之类的名字是在什么时候赋值的,怎么微软不会自动该一下呢?


这是我遇到的问题:

问题种类基本差不多,就不赘述了。

不同点是:

我用C#,修改了工程中一个项目的名称,生成成功,但是运行时打开有图片的窗体时,报错,错误内容提示图片资源竟然指向了原项目名称(即:正确嵌入或链接到程序集“原名称”——这里指向了原名称),查找项目中也没有。

解决方法:

打开此项目的属性页,在用用程序条目中修改程序集名称和默认命名控件为新名称,OK


你可能感兴趣的:(c,测试,C#,语言,平台,微软)