Ada*_*Fox 11 .net resourcemanager
我正在尝试使用以下命令在我的.net网站中加载resx文件:
ResourceManager rm = new ResourceManager( "Project.Resource", Assembly.GetExecutingAssembly() );
Run Code Online (Sandbox Code Playgroud)
Resource.resx文件位于App_LocalResources文件夹中,并设置为嵌入在构建中的程序集中.
当我尝试使用以下方法访问resx文件时:
rm.GetString( "key" ); 要么 rm.GetString( "key", culture );
我收到一条错误消息:
找不到适合指定文化或中性文化的资源.确保在编译时将"Project.Resource.resources"正确嵌入或链接到程序集"Project"中,或者所有所需的附属程序集都是可加载和完全签名的.
注意.resources ......关于这里发生了什么的任何想法?
dii*_*eep 14
要将.resx加载到ResourceManager,您需要指定名称空间
var rm = new ResourceManager("Namespace.ResxName", Assembly.GetAssembly());
Run Code Online (Sandbox Code Playgroud)
或者,如果将Managed Resource Editor中的Access Modifier设置为Internal或Public,则可以免费获得ResourceManager,之后VS将生成ResxName.Designer.cs
var rm = ResxName.ResourceManager;
Run Code Online (Sandbox Code Playgroud)
按字符串读取资源的方法非常简单:
ResourceNamespace.ResxFileName.ResourceManager.GetString("ResourceKey")
Run Code Online (Sandbox Code Playgroud)
对于无法使用“点符号”的键读取资源(例如,当资源键保留在数据库中时),这是一种干净而优雅的解决方案。
| 归档时间: |
|
| 查看次数: |
25082 次 |
| 最近记录: |