我开发了一个应用程序,它至少有 2 个,如果不是 3-4 个不同的版本(不要问)。这些应用程序基本上是相同的,只是产品名称、窗口标题、应用程序图标以及字符串或图像资源方面的一些其他细微差别不同。
我的主要目标是避免为每个可执行文件创建多个项目。我希望能够拥有一个主要的应用程序项目并让它只加载这些资源(名称、图标等)并且不知道它是哪个版本。这样,我可以简单地配置我的安装项目以使用该应用程序的版本部署适当的资源。理想情况下,安装后最终用户不会看到它。
我尝试过什么:我尝试过创建不同的 .resx 文件并根据构建配置交换它们,或者我还尝试过添加环境变量和变量上的#if。但是,我真的不想要多个构建配置。我希望它只依赖于部署。
是否可以在不同的项目或同一个项目中创建 resx 文件并将它们从构建中排除,并将它们生成到类似于本地化的附属 .DLL 程序集中,然后加载与应用程序一起部署的任何一个?
如果我应该考虑运行我自己的 RESGEN 和 AL 任务,或者我应该只创建一个 DLL 项目(但也许那时我必须为一个资源文件创建多个 DLL 项目),我感到很困惑。此外,我能找到的任何关于使用 .RESX 文件的文章都是用于本地化的。它依赖于设置 CurrentCulture 来解析要使用的特定资源。我的场景与文化无关......我只想为应用程序的不同部署加载不同的资源。