錯誤信息: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