.NET 资源文件绑定文化错误
.NET resource file binding culture is wrong
我是 .NET 主题的新手。我创建了一些使用语言资源文件的表单。
在绑定过程中发生了以下情况,我不知道在哪里设置了语言“de-DE”
在默认日志类别中:
*** Assembly Binder Log Entry (8/28/2015 @ 4:40:24 PM) ***
The operation failed.
Bind result: hr = 0x80070002. The system cannot find the file specified.
Assembly manager loaded from: C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll
Running under executable C:\Program Files (x86)\Prg\sample.exe
--- A detailed error log follows.
=== Pre-bind state information ===
LOG: DisplayName = MyForms.1.41.resources, Version=0.0.0.0, Culture=de-DE, PublicKeyToken=xxxxxxxxxx
(Fully-specified)
LOG: Appbase = file:///C:/Program Files (x86)/ Prg/
LOG: Initial PrivatePath = NULL
LOG: Dynamic Base = NULL
LOG: Cache Base = NULL
LOG: AppName = sample.exe
Calling assembly : MyForms.1.41, Version=0.0.0.0, Culture=neutral, PublicKeyToken= xxxxxxxxxx.
===
LOG: This bind starts in default load context.
LOG: Using application configuration file: C:\Program Files (x86)\Prg\sample.exe.Config
LOG: Using host configuration file:
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config.
LOG: Post-policy reference: MyForms.1.41.resources, Version=0.0.0.0, Culture=de-DE, PublicKeyToken= xxxxxxxxxx
LOG: GAC Lookup was unsuccessful.
LOG: Attempting download of new URL file:///C:/Program Files (x86)/Prg/de-DE/MyForms.1.41.resources.DLL.
LOG: All probing URLs attempted and failed.
现在我在“de”目录下找到了所需的文件,而不是在 URL 中搜索到的“de-DE”目录下!
我还在 MyForms.1.41.resources 上使用标志 /culture:de 调用了 Al.exe,但没有任何乐趣。
感谢任何帮助。
我不能使用目录“de-DE”所以不能覆盖目录名,“de”是必须的。
谢谢
似乎有可能以编程方式设置资源文件的区域性:
Thread.CurrentUICulture Property
如MSDN所述。
在我的例子中,默认文化设置为 de-DE,当前文化是从注册表项中读取的。不幸的是,注册码丢失了,因此使用了默认的。
干杯...
我是 .NET 主题的新手。我创建了一些使用语言资源文件的表单。 在绑定过程中发生了以下情况,我不知道在哪里设置了语言“de-DE”
在默认日志类别中:
*** Assembly Binder Log Entry (8/28/2015 @ 4:40:24 PM) ***
The operation failed.
Bind result: hr = 0x80070002. The system cannot find the file specified.
Assembly manager loaded from: C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll
Running under executable C:\Program Files (x86)\Prg\sample.exe
--- A detailed error log follows.
=== Pre-bind state information ===
LOG: DisplayName = MyForms.1.41.resources, Version=0.0.0.0, Culture=de-DE, PublicKeyToken=xxxxxxxxxx
(Fully-specified)
LOG: Appbase = file:///C:/Program Files (x86)/ Prg/
LOG: Initial PrivatePath = NULL
LOG: Dynamic Base = NULL
LOG: Cache Base = NULL
LOG: AppName = sample.exe
Calling assembly : MyForms.1.41, Version=0.0.0.0, Culture=neutral, PublicKeyToken= xxxxxxxxxx.
===
LOG: This bind starts in default load context.
LOG: Using application configuration file: C:\Program Files (x86)\Prg\sample.exe.Config
LOG: Using host configuration file:
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config.
LOG: Post-policy reference: MyForms.1.41.resources, Version=0.0.0.0, Culture=de-DE, PublicKeyToken= xxxxxxxxxx
LOG: GAC Lookup was unsuccessful.
LOG: Attempting download of new URL file:///C:/Program Files (x86)/Prg/de-DE/MyForms.1.41.resources.DLL.
LOG: All probing URLs attempted and failed.
现在我在“de”目录下找到了所需的文件,而不是在 URL 中搜索到的“de-DE”目录下!
我还在 MyForms.1.41.resources 上使用标志 /culture:de 调用了 Al.exe,但没有任何乐趣。
感谢任何帮助。
我不能使用目录“de-DE”所以不能覆盖目录名,“de”是必须的。 谢谢
似乎有可能以编程方式设置资源文件的区域性:
Thread.CurrentUICulture Property
如MSDN所述。
在我的例子中,默认文化设置为 de-DE,当前文化是从注册表项中读取的。不幸的是,注册码丢失了,因此使用了默认的。 干杯...