2012-06-04 38 views
0

在.NET中具有語言特定資源的「標準」方式是在每個語言的.EXE下有一個文件夾,然後在文件夾中有一個文件filename.resources.dll。這導致在我們有一個.EXE的每個目錄下的許多文件夾已經被本地化。如何在.EXE中放置資源?

有沒有辦法將這些資源放入.EXE?

謝謝 - 戴夫

+2

一個明顯的解決方法是將所有.exe文件放在同一個目錄中。你爲什麼擔心這件事?文件系統驅動程序沒有。 –

+0

@Hans Passant - 我們收到用戶關於何時進入bin目錄的投訴,他們詢問「那裏有多少個子文件夾。」只是試圖讓人們更容易找到東西。 –

回答

1

我以爲你不快樂與您的應用程序只會一種語言(在這種情況下,你可以嵌入在彙編資源)。

.NET Framework提供的本地化模型取決於您描述的文件結構。所以要回答你的問題,你不能。當然,您可以將所有程序集保存在一個文件夾中,這意味着每種語言只能有一個語言子文件夾。

您可以嘗試構建自定義資源管理器並使用嵌入在您的程序集中的資源,但我認爲這會使您的過程複雜化很多(例如,如果添加語言,則必須重新構建和重新部署所有內容)改變一個翻譯,如果一切合並在一起,管理翻譯將是一個真正的痛苦)。

+0

不是我想要的答案,但如果必須這樣,那麼我知道不要打我的頭一堵牆試圖找到更好的解決方案。謝謝。 –

0

您可以從項目性能中添加資源。只需右鍵點擊該項目,然後選擇屬性。然後選擇資源選項並添加需要嵌入到程序集中的資源。

MSDN for more...

+0

我可以用這種方式添加自己的資源。但我想添加語言特定的資源來控制屬性。例如,Text屬性。如果我在Visual Studio中使用特定於語言的方法,則它將使用基於應用程序運行的語言環境的屬性值。 –

相關問題