在 .NET 中拥有特定于语言的资源的“标准”方式是在 .EXE 下为每种语言创建一个文件夹,然后在该文件夹中创建一个文件 filename.resources.dll。这导致每个目录下都有很多文件夹,我们有一个已本地化的 .EXE。
有没有办法将这些资源放在 .EXE 中?
谢谢 - 戴夫
在 .NET 中拥有特定于语言的资源的“标准”方式是在 .EXE 下为每种语言创建一个文件夹,然后在该文件夹中创建一个文件 filename.resources.dll。这导致每个目录下都有很多文件夹,我们有一个已本地化的 .EXE。
有没有办法将这些资源放在 .EXE 中?
谢谢 - 戴夫
我假设你对你的应用程序是单语的不满意(在这种情况下你可以在你的程序集中嵌入资源)。
.NET Framework 提供的本地化模型取决于您描述的文件结构。所以要回答你的问题,你不能。当然,您可以将所有程序集保存在一个文件夹中,这意味着每种语言只有一个语言子文件夹。
您可以尝试构建一个自定义资源管理器并使用嵌入在您的程序集中的资源,但我认为这会使您的过程复杂化很多(例如,如果您添加一种语言或更改一种翻译,您必须重建和重新部署所有内容,如果所有内容都合并在一起,管理翻译将是一个真正的痛苦)。
您可以从项目属性中添加资源。只需右键单击项目并选择属性。然后选择资源选项并添加您需要嵌入到程序集中的资源。