我創建了一個簡單的控制檯應用程序來顯示「Hello World」字符串。後來我帶來了資源文件來支持不同的語言,並把翻譯版本的「Hello World」。我嘗試在中文操作系統中運行console.exe,並希望看到「Hello World」以中文顯示。不幸的是它顯示英文。本地化支持C#控制檯應用程序
經過分析,發現添加.resx文件在項目中創建了一個單獨的文件夾,每種語言都有.resource dll(sattellite assembly)。因此,如果我將.exe與其他文件夾一起放置並運行,那麼中文顯示「Hello World」。如果我刪除文件夾(.resource),然後只運行.exe,那麼它會再次以英文顯示「Hello World」。
有沒有一種方法可以將所有資源文件映射在一起創建.exe。因此,在運行.exe之前,我不需要將這些文件夾與.exe一起放置。
順便說一下,我試圖訪問字符串使用Strings.STRING_NAME其中「字符串」是默認資源文件的名稱。其他語言的字符串文件的類型爲Strings.fr.resx,Strings.de.resx。
請在這方面的幫助。
在此先感謝。
這似乎已經解決方案:http://stackoverflow.com/questions/1453755/how-to-embed-a-satellite-assembly-into-the- exe文件 – Knerd
我很好奇。這意味着什麼問題要解決?將所有的程序集編譯到一個文件中會帶來什麼好處? – Gusdor
嗨Gusdor,主要問題是在遠程機器上部署一個單獨的.exe文件,該文件可以顯示本地化的消息。 – user3220129