2010-04-09 73 views
0

我正在嘗試爲我的C#應用​​程序添加全球化支持。 根據MSDN的規定,應該有一個用於中性文化和衛星DLL的嵌入式資源文件,用於其他文化的資源文件。VS 2008不理解。資源文件

我創建沒有任何問題2個衛星DLL和得到我的應用程序自動加載使用的ResourceManager正確的。但是我不能將默認的中性文化資源文件嵌入到我的可執行文件中。當我刪除所有衛星DLL或將文化設置爲某種文化時,我沒有衛星DLL,因此我得到異常「無法找到適用於指定文化或中性文化的任何資源」。當應用程序嘗試創建ResourceManager時。

它看起來像VS 2008不包括我的.resource文件到主程序集中。我已經嘗試了不同的方式來獲取嵌入的資源文件:通過resgen.exe從文本文件編譯並將其添加到項目;更改其名稱以添加第二個.resources擴展名;創建具有相同名稱的.resx文件;等等。我仍然沒有看到ResourceManager嵌入和使用的資源文件的方式 - 我有同樣的例外。

什麼是在VS 2008中嚮應用程序添加默認中性文化資源文件的正確方法?

回答

1

好吧,我已經解決這個問題一點點'黑客'。

我使用resgen.exe編譯的資源文件,如MSDN描述,然後將其添加到項目中,更名爲「資源」和從改變「無」建設行動「嵌入的資源」。

看起來像VS 2008增加了「。」作爲資源文件名的前綴。所以,如果你將你的資源文件命名爲「.resources」,它將不起作用,實際上VS將它命名爲「..resources」。

0

in .Net資源文件正在使用.resx擴展名。有它在你的項目「嵌入式」,確保「自定義工具」中的.resx文件的屬性頁使用「ResXCodeGenerator」

希望這有助於

+0

在我的項目中有.resx文件,但ResourceManager不想使用它:( – mephisto123 2010-04-09 07:49:15

相關問題