为C#应用程序添加新的语言资源文件

为C#应用程序添加新的语言资源文件,c#,.net,C#,.net,我有一个多语言C#WinForms应用程序,它使用资源文件处理多语言文本。是否有可能在不重新编译应用程序的情况下添加包含其他语言的新资源文件 最终目标是让客户能够将其应用程序翻译成各种语言并部署新的语言/资源文件,而无需我们重新编译整个应用程序。您正在寻找“附属程序集”。MSDN站点上有一个非常好的解释和教程:当然,只需创建您的resx文件并使用resgen独立编译即可 “资源文件生成器(Resgen.exe)将文本(.txt或.restext)文件和基于XML的资源格式(.resx)文件转换为

我有一个多语言C#WinForms应用程序,它使用资源文件处理多语言文本。是否有可能在不重新编译应用程序的情况下添加包含其他语言的新资源文件


最终目标是让客户能够将其应用程序翻译成各种语言并部署新的语言/资源文件,而无需我们重新编译整个应用程序。

您正在寻找“附属程序集”。MSDN站点上有一个非常好的解释和教程:

当然,只需创建您的resx文件并使用resgen独立编译即可

“资源文件生成器(Resgen.exe)将文本(.txt或.restext)文件和基于XML的资源格式(.resx)文件转换为公共语言运行时二进制(.resources)文件,这些文件可以嵌入到运行时二进制可执行文件或附属程序集中。(请参阅为桌面应用创建资源文件)。”


资源文件是嵌入式资源;因此,不编译就不可能添加和使用新的资源文件。一个选项可能采用卫星组件


另一方面,您可以只使用xml文件来存储必要的数据,然后使用基于区域性的命名约定,应用程序可以从相关的xml文件中读取资源

为每个GUI组件创建一个XML文档 因此,如果您修复了该语言,您的应用程序将反序列化xml文档并填充新值
我不知道有什么更简单的方法

您可以在本地重新编译代码,并在生产中重写。是的,这是非常可能的,但我们必须看到有什么方法可以帮助您