我需要创建一个 ClassLibrary,以包含不同的资源文件 (resx)。这需要完成,因此我可以在多个项目中重用这些资源。
在阅读了很长一段时间关于如何实现这一点之后,我仍然离答案很远。
请注意,如果我想更改一个值,我需要以一种不需要重新编译项目的方式来实现这一点
有没有一种我想念的简单方法来实现这一点?
讨厌成为坏消息的承担者,但我担心您正在尝试将 RESX 文件用于其他目的,而不是它们的设计用途。RESX 文件被编译成 .resources 文件,然后在构建过程中嵌入到程序集中。换句话说,如果您不重新编译,您将看不到对模块中反映的 resx 文件所做的任何更改。
RESX 文件的好处远远超出了提供与已部署解决方案紧密耦合的已编译文化/语言文本。它们有可能提供在软件开发过程之外管理的一组简单而灵活的内容。这里的一些观点:
是的,您可以使用您的 RESX 文件而无需编译它们。看这里:
在部署服务器中编辑 ASP.NET MVC 3 resx 文件,无需重新编译
是的,您可以在不同项目之间共享 RESX 文件,甚至可以滚动您自己的资源管理器。您可以维护备用资源集,根据例如用户上下文提供备用内容。我参与了一个项目,我们按照这些思路实施了一些影响很大的项目,在我的案例中,该解决方案用于提供白色标签。一些细节可以帮助您从这里开始: