3 回答

TA貢獻1877條經驗 獲得超1個贊
解決此問題所需要做的就是Resources.resx在解決方案資源管理器中右鍵單擊該文件,然后單擊“運行自定義工具”。這將重新生成自動生成的Resources.Designer.cs文件。
如果.resx文件是手動添加到項目中的,則該文件的“自定義工具”屬性必須設置為“ ResXFileCodeGenerator”。
問題是由于名稱空間不匹配引起的,如果您在項目設置中更改了程序集的“默認名稱空間”,則會發生此問題。(我將其從(以前)更改"Servers"為(現在)"RT.Servers"。)
在中的自動生成的代碼中Resources.Designer.cs,包含以下代碼:
internal static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Servers.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
文字字符串"Servers.Resources"必須更改為"RT.Servers.Resources"。我是手動完成的,但是運行自定義工具也可以做到。

TA貢獻1921條經驗 獲得超9個贊
我今天剛遇到此問題,并且發現此Microsoft幫助和支持頁面實際上確實可以解決該問題。
我在全局名稱空間的文件頂部有幾個委托,在MissingManifestResourceException運行該程序時,突然在這一行上得到了一個委托:
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
然后,我將委托移到名稱空間中,出現相同的錯誤。最后,我將委托置于該文件中的唯一類中,錯誤消失了,但是我不希望該委托位于該類或名稱空間中。
然后我遇到了上面的那個鏈接
若要解決此問題,移動所有其他的類定義,以便它們出現在窗體的類定義之后。
我將委托(我將不考慮“類定義”)放在該文件的底部,本地名稱空間之外,并且程序MissingManifestResourceException不再可

TA貢獻1946條經驗 獲得超3個贊
我遇到了類似的問題,盡管我知道這不是OP造成的原因,但我將其張貼在這里,以便將來如果其他人遇到此問題,將可以找到答案。
如果在設計器類之前添加一個類,則MissingManifestResourceException在運行時將獲得異常(無編譯時錯誤或警告),因為
Visual Studio要求設計人員使用文件中的第一類。
- 3 回答
- 0 關注
- 900 瀏覽
添加回答
舉報