我们有一个以两个名称开发的 C# 产品,具有两个不同的徽标(和一些其他字符串),我们需要一种选择/显示这些不同值的方法,具体取决于应用程序的配置方式(在编译时或运行时,尚无偏好)。
两个版本的业务逻辑、UI 布局等都是相同的。
当前代码有些遗留,所以我们有很多字符串分散在整个业务逻辑等中。我们并没有真正使用资源文件或类似的东西。国际化不是一个直接的问题,但可能是在不久的将来。
我正在考虑以下方法:
- 运行时字典,由编译时脚本填充,或作为 XML 字典(或类似字典)的外观,具有类似的图像构造,使用枚举或其他一些内部值作为键。
- 使用 Microsoft 资源文件 (.resx),但据我所知,这些文件似乎适用于不同的语言(法语等),而不是不同的产品配置
- 不同的构建 Visual Studio 项目,以某种方式将字符串存储在单独的项目中(以便构建项目引用业务逻辑 + product_version_X_strings 项目)
- 1 - 3 的一些排列
也有人建议我们在不同的 git 分支中运行两个产品版本,并搜索和替换相关字符串。
理想情况下,该解决方案可以扩展/扩展以包括(并因此集中)应用程序中包含的所有面向用户的字符串。
有没有更好的方法来做到这一点,或者一些我不知道的结构?首选方法是什么?