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


在网上搜索了N久都没看到几篇解决的文章,最后在不懈的努力下终于解决了,所以决定写下解决方法方便以后遇到同样问题的朋友:

其实这个错误的主要问题就是没有找到需要的资源文件(该文件为Resources.resx),
引用该文件的地方就是
System.Resources.ResourceManager manager = new System.Resources.ResourceManager("×××.Resources", typeof(Resources).Assembly);
而导致错误的原因就是"×××.Resources"的配置错误

解决方法:首先查看工程中时候存在Resources.resx相关的文件,
找到它在工程中的位置(不如说一般都是在:工程名.Properties 命名空间下),
最后更改配置为new System.Resources.ResourceManager("工程名.Properties.Resources", typeof(Resources).Assembly);

续:

我这里在举个详细的例子,以便能够更明白哈

首先,一个容器(不管是Form,或是Panel也好),如果与其配套一个资源文件(以后缀名为.resx),则这2个文件应是在同一个命名空间下,才能相互使用

举个最特殊的例子

比如说一个工程名叫Test.Tname

其下有一个文件夹叫aaa(文件夹名字随便,没有关系)

文件夹aaa下有一个类文件叫Form1.cs,其命名空间为:Test.Tname(注意:命名空间才是重要的位置信息)

现在也有一个资源文件叫Form1.resx

(默认此资源文件是没有问题的,但是在特别的情况下,此文件就不会再正确的位置,导致出现如题的异常信息,比如说我反编译一个工程,自动生成的资源文件的位置就有问题)。

在Form1.cs中有句代码是需要资源文件的

ResourceManager manager = new ResourceManager(typeof(Test.Tname.Form1));

这里就注意了,如果Form1.cs类文件与Form1.resx资源文件是分开的话,

那么Form1.resx资源文件应放在哪个地方,程序才能找到他呢?

首先我们看哈Form1.cs类文件的命名空间为Test.Tname。

而资源文件Form1.resx中并没有命名空间的描述,所以只有靠位置来表示

再看下我们的工程名称:Test.Tname很好,它跟Form1.cs类文件的命名空间相同

所以我们就把Form1.resx资源文件放在工程的根目录下面

问题解决了,呵呵

其实我觉得最重要的问题就是类文件中可以有namespace来描述位置

而资源文件中并没有这行代码,只能靠真正的位置,这才是关键


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



猜您在找 未能找到任何适合于指定的区域性或非特定区域性的资源。请确保在编译时已将“Microsoft.VisualStudio.Data.Providers.SqlServer.SqlViewSupport.xml”正确嵌入或链接到程序集“Microsoft.VisualStudio.Data.Providers.SqlServer”,或者确保所有需要的附属程序集都可加载并已进行了完全签名。 未能找到任何适合于指定的区域性或非特定区域性的资源。请确保在编译时已将“xxx.Resources.resources”正确嵌入或链接到程序集 未能找到任何适合于指定的区域性或非特定区域性的资源 vs的一个奇葩错误 : 未能找到任何适合于指定的区域性或非特定区域性的资源... 文件中的类都不能进行设计,因此未能为该文件显示设计器。设计器检查出文件中有以下类: FormMain --- 未能加载基类“WinForm.Win.FormsBase.FormMainBase”。请确保已引用该程序集并已生成所有项目 未能加载文件或程序集“XXXXX”或它的某一个依赖项。未能验证强名称签名。此程序集可能已被篡改,或者已被延迟签名,但没有用正确的私钥进行完全签名。 (异常来自 HRESULT:0x80131045) warning MSB3245: 未能解析此引用。未能找到程序集“CemeteryBLL”。请检查磁盘上是否存在该程序集。 如果您的代码需要此引用,则可能出现编译错误。 system.badimageformatexception 未能加载文件或程序集 异常:System.BadImageFormatException,未能加载正确的程序集XXX 引用动态链接库Dll文件 引用失败 未能添加对HD.dll的引用。请确保此文件可访问并且是一个有效的程序集或COM组件
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM