【问题标题】:Editable strings with .resx files at runtime运行时带有 .resx 文件的可编辑字符串
【发布时间】:2014-08-19 05:59:38
【问题描述】:

我正在开发一个多语言 ASP.NET MVC 应用程序 (MVC4)。

我想让我的资源文件字符串在运行时可编辑,而无需重新编译应用程序,我已经成功完成,但更改未反映在 UI 上,但是键的新更新值显示在 .resx 文件中我用 XML 编辑器观察了 .resx 文件

这些更改仅在我重新编译应用程序时反映。

如何在不重新编译应用程序的情况下使其反映 UI 上的更改?

谢谢。

【问题讨论】:

    标签: asp.net-mvc asp.net-mvc-4 resource-files


    【解决方案1】:

    Here is很好地解释了为什么不重新编译就无法更新 resx 资源。在此线程中,还有一个解决方法,您可以如何使用 resx 进行实时更改,但请记住,您的应用程序池将在 aech 更改此文件后被回收,因此所有现有会话都将结束。我建议为此目的使用自定义 XML 文件或 DB,并避免此类变通方法。

    【讨论】:

    • 感谢@ntl。我已经检查了您提到的链接。并且我一直在维护以防止应用程序池被回收(以某种方式)。更新的字段在 XML 中显示更新(如 Qus 中所示),但未反映在 UI 中。项目即将完成,因此无法采用其他选项 DB/Custom XML。
    • 我可以在不重新编译和应用程序池回收的情况下编辑 .resx 资源,但更新仅在重新编译后反映。
    • 嗯...您可以尝试其他解决方案,我已经创建了另一个答案,请检查一下。不要忘记恢复您在此方法中所做的更改。
    【解决方案2】:

    检查this thread,看来你可以使用resgen.exe工具来准备你更新的资源,使用al.exe来整合你编译库的变化。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多