随笔 - 96  文章 - 0  评论 - 682  阅读 - 22万

.NET中对资源文件的使用简介

 

一、             资源文件简介

 

1resx文件:

基于文本的格式是特定于.NET 框架的 XML 格式,称为 ResX.resx 文件)。不考虑其 XML 基础,该格式不是专门为人工阅读而设计的(XML 格式很少是这样的)。但是,Visual Studio .NET 仍然为 .resx 文件提供了一个基本编辑器。

 

2Resources文件:

         .resources 扩展名来自于在将 .resx 文件作为资源嵌入之前 Visual Studio .NET 处理该文件时所使用的工具。工具名称是 resgen.exe,它用来将 .resx XML 格式“编译”为二进制格式。可以手动将 .resx 文件编译成 .resources 文件,如下所示:

C:\> resgen.exe Resource1.resx

在将 .resx 文件编译成 .resources 文件以后,就可以使用 System.Resources 命名空间中的 ResourceReader 来枚举它:

 

二、  资源文件应用简介

 

(1)        Windows Application中的使用:

 

1.        首先注意的是,在Windows Application中的resx资源文件是和其中的Form相关联的,及Form.csForm.Designer.csForm.resx文件是作为一个整体进行展示的(在资源管理器中),这里不涉及本地与全局资源文件夹的概念,及如果想导入已经生成的Resources文件的话,直接在工程上右键add new Item即可,选择完相关的Resources文件,记住要将资源文件的属性中的Build Action选择为Embadded resource(内嵌资源),这样的话,资源就会在你编译后直接嵌入到你的应用程序当中。

 

2.        具体应用代码示例:

Assembly assembly = Assembly.GetExecutingAssembly();

            ResourceManager rm = new ResourceManager("TestStrongName123.Form1", assembly);

            this.textBox1.Text = rm.GetString("First");

 

3.        resources文件与resx文件的区别,也可以从他们对资源的保存形式来判断,前者会将所有的资源都保存到该文件中,而后者只是会保存对资源的引用

 

(2)        ASP.NET Web Application中的使用:

 

1.        在此处应用资源文件的时候可能与前面的使用方法略有不同,而且在VS2005中引入了新的使用方式,即资源文件夹的概念,即把全局资源与本地资源分别保存到App_GlobalResourcesApp_LocalResources目录中,只要放到这两个目录中的资源文件,可以再根据自己的分类继续进行文件划分,这个不影响工程找到资源文件,这里还要对资源文件的命名简单介绍一下,全局资源只要保证其文件为resx文件即可,名字自己可以随意,而后者的命名必须遵循一定的命名规则才可以,即:对应的页面文件名 + .resx”。

 

2.        具体应用代码示例:

<1> 应用本地资源(字符串):

<asp:Literal ID="Literal1" runat="server" Text="<%$Resources:LocalString1%>"></asp:Literal>

Literal2.Text = (string)this.GetLocalResourceObject("LocalString2");

<2> 应用全局资源(字符串):

<asp:Literal ID="Literal3" runat="server" Text="<%$Resources:GlobalResource, GlobalString1%>"></asp:Literal>

Literal4.Text = (string)base.GetGlobalResourceObject("GlobalResource", "GlobalString2");

<3> 获取全局资源中的图片:

Bitmap bm = null;

bm = Resources.GlobalResource.GlobalSmallFail;

 

3.        其他一点说明:使用web site站点的时候,与这里的应用也是类似的,这里就不赘述了。

 

4.        针对公文系统来说,资源文件的使用比较局限,因为我们的公文系统采用的策略为使用客户端控件,避免使用服务器端控件;再者,我们都饿应用无法提前欲知情况(也就是全球化的资源思路),所以,鉴于此,我们系统中应用资源文件的使用只能局限到对字符串等的使用,但是在图片等方面可能无法达到我们的需求,使用图片替换仍旧为我们的首选方案。

 

 

posted on   酸甜西瓜  阅读(2297)  评论(6编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述
< 2010年3月 >
28 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31 1 2 3
4 5 6 7 8 9 10

点击右上角即可分享
微信分享提示