我正在尝试在 WinForms 应用程序中使用卫星程序集进行本地化。目录结构如下:
- 斌
- 程序.exe
- 德
- 程序.resources.dll
在 Program.exe 中,此代码在Main
方法中执行:
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Thread.CurrentThread.CurrentUICulture = new CultureInfo("de");
Application.Run(new Form());
我检查了 FUSLOGVW.exe 输出:
*** 装配活页夹日志条目(5/30/2012 @ 5:19:37 PM)*** 操作失败。 绑定结果:hr = 0x80070002。该系统找不到指定的文件。 从以下位置加载程序集管理器:C:\Windows\Microsoft.NET\Framework64\v4.0.30319\clr.dll 在可执行文件 D:\tmp\bin\Program.exe 下运行 --- 详细的错误日志如下。 === 预绑定状态信息 === 日志:用户 = paulius_l 日志:DisplayName = Program.resources,Version=1.0.0.0,Culture=de,PublicKeyToken=... (完全指定) 日志:Appbase = file:///D:/tmp/bin/ 日志:初始 PrivatePath = NULL 日志:动态基础 = NULL 日志:缓存基础 = NULL 日志:AppName = Program.exe 调用程序集:程序,版本=1.0.0.0,文化=中性,PublicKeyToken=.... === LOG: 开始绑定原生镜像 Program.resources, Version=1.0.0.0, Culture=de, PublicKeyToken=.... 警告:未找到匹配的本机图像。 LOG:从 D:\tmp\bin\de\Program.resources.dll 加载的 IL 程序集。
这看起来不错,但是字符串并没有被本地化——仍然使用 Program.exe 中的默认字符串。
要获取字符串,我使用 Visual Studio 生成的Res
类从Res.resx
.
我在这里想念什么?
编辑:为那些比我更了解它的人添加了完整的 FUSLOGVW 输出。