c# - 资源文件未编译成 DLL

标签 c# winforms user-interface resources resx

我有一个本地化的 WinForms 应用程序。为了避免翻译过程中的大量迭代,我为我们的翻译人员提供了软件,允许他们直接编辑 .resx 文件。

这对于不与 UI 组件(表单/控件)绑定(bind)的资源文件非常有效,但对于表单和控件,资源似乎没有更新。我的意思是,在设计时,所有资源字符串都是正确的(文本/工具提示等),并且我可以看到正确的翻译 - 当我运行应用程序(调试或任何其他版本)时,翻译不会被翻译更新了,为什么?

感谢您的宝贵时间。


编辑1。情节进一步变得复杂。当我更改其组件(按钮文本、工具提示或由底层资源文件控制的任何内容)时,有两个按钮根本没有更新。假设我将按钮文本从“锁定工作簿”更改为“锁定工作簿 GG”,然后新文本显示在设计器和 .resx 文件中(在 .resx 设计器和后面的代码中),但是当我运行代码时(在调试或 Release模式下)按钮文本未更新!?

如果我更新上面更新的按钮旁边的按钮,这会更改正在运行的应用程序中的文本吗?这正在烘烤我的面条,因为我看不到旧文本存储在哪里,为什么对于按钮的子集,它们的组件文本没有更新!?

热烈欢迎任何想法!


编辑2。我尝试删除 .suo 并清理并重新编译。我还从解决方案中删除了麻烦的表单并重新添加了它。

为了让您看到这种奇怪的行为,这里有一个有问题的按钮(“锁定工作簿 GG”)和一个正常的按钮(“设置为默认工作簿 GG”)。

DesignTime

现在在运行时我看到

RunTime

最佳答案

也许您的build设置错误?
这就是我的 dll 的内容。

enter image description here

关于c# - 资源文件未编译成 DLL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19631221/

相关文章:

c# - 背景模糊的 UWP 应用程序 - SetWindowCompositionAttribute

c# - Nunit 异步测试异常断言

c# - 如何从数据库重新加载相同的值

c# - 如何处理 System.CannotUnloadAppDomainException?

c# - WinForms 禁用双击并接受所有鼠标点击?

c# - 使用枚举类型的 JSON 反序列化

c# - 组框标题颜色

java - 如何更新 Java Gui 中的变量?

快速创建许多文本字段的网格?

c++ - 在 QtCharts 上显示文本