2012-06-04 41 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中使用特定于语言的方法,则它将使用基于应用程序运行的语言环境的属性值。 –

相关问题