.net 如何在.EXE中放置资源?

.net 如何在.EXE中放置资源?,.net,localization,.net,Localization,在.NET中拥有特定于语言的资源的“标准”方法是在.EXE下为每种语言创建一个文件夹,然后在该文件夹中创建一个文件filename.resources.dll。这会导致在每个已本地化的.EXE目录下都有很多文件夹 有没有办法将这些资源放在.EXE中 谢谢-dave您可以从项目属性中添加资源。只需在项目上单击鼠标右键并选择“属性”。然后选择资源选项并添加需要嵌入到程序集中的资源 我假设你不满意你的应用程序是单语言的(在这种情况下,你可以在你的程序集中嵌入资源) .NET Framework提供的本

在.NET中拥有特定于语言的资源的“标准”方法是在.EXE下为每种语言创建一个文件夹,然后在该文件夹中创建一个文件filename.resources.dll。这会导致在每个已本地化的.EXE目录下都有很多文件夹

有没有办法将这些资源放在.EXE中


谢谢-dave

您可以从项目属性中添加资源。只需在项目上单击鼠标右键并选择“属性”。然后选择资源选项并添加需要嵌入到程序集中的资源


我假设你不满意你的应用程序是单语言的(在这种情况下,你可以在你的程序集中嵌入资源)

.NET Framework提供的本地化模型取决于您描述的文件结构。所以要回答你的问题,你不能。当然,您可以将所有程序集保存在一个文件夹中,这意味着每种语言只有一个语言子文件夹


您可以尝试构建一个自定义资源管理器,并使用嵌入在程序集中的资源,但我认为这会使您的流程复杂很多(例如,如果您添加一种语言或更改一种翻译,您将不得不重建和重新部署所有内容,如果所有内容都合并在一起,则管理翻译将是一件非常痛苦的事情).

我可以这样添加自己的资源。但是我想添加特定于语言的资源来控制属性。例如,文本属性。如果我在Visual Studio中使用特定于语言的方法,它会根据应用程序运行的区域设置使用属性值。一个明显的解决方法是将所有.exe文件放在同一目录中。你为什么担心这个?文件系统驱动程序没有。@Hans Passant-我们收到用户的投诉,他们在进入bin目录时会问“那里有这么多子文件夹,怎么回事?”只是想让人们更容易找到东西。这不是我想要的答案,但如果必须这样的话,我知道不要为了更好的解决方案而碰壁。非常感谢。