技术开发 频道

细说ASP.NET文件类型与资源文件

  【IT168 技术文档】

  .NET文件类型解析

  *.resx是资源文件。每个页面都有一个资源文件相对应。

  global.asax是global.asa的.net版

  global.asax.vb是global.asax的后台文件。

  *.ascx是一个用户自定义控件。

  *.ascx.vb是自定义控件的代码文件,C#的是*.ascx.cs

  *.ascx.resx是自定义控件的资源文件。

  *.aspx.vb是*.aspx页面的后台代码。

  web.config是整个Web Application的配置文件。

  *.vbproj是VB.NET的工程文件。

  *.vsdisco是Web Service的文件。

  *.vbproj.webinfo是VB.NET工程文件的Web Application文件。

  *.sln是VS.NET的解决方案文件。

  其中global.asax,global.asax.vb,web.config,*.vbproj,*.vsdisco,*.vbproj.webinfo,*.sln都是在建立一个VB.NET的Web Application工程的时候自动产生的。

  ASP.NET的页面文件是*.aspx,每个页面对应一个*.resx资源文件和一个*.aspx.vb的代码文件

  .NET文件类型:什么是资源文件

  在 .NET 中准备 World-Ready 程序时需要三步,Globalization,Localizability 和 Localization。在这第三步的 Localization 中就是使用资源文件最常见的地方。(本文不讨论 World-Ready 程序,或许以后在另一篇文章中)因为程序的逻辑界面需要与资源界面隔离,而资源界面就是我们所说的资源文件。顾名思义,一个资源文件中当然全是资源,不过,什么是资源?这里所谓的资源就是程序中可利用的数据,譬如:字符串、图片和任何二进制数据,包括任何类型的文件。注意一个资源文件可以有多种语言版本,举例,一个 Strings.resources 文件可以有英语版、简体中文版、繁体中文版等。

  ResourceManager 可以自动根据文件名来确认调用哪个版本。不同的版本只要在文件名中添入区域语言就可以了。比如,我们的 Strings.resources 是默认版,英语版的可以是 Strings.en-US.resources(美国英文),简体中文的可以是 Strings.zh-CHS.resources(简体中文),而繁体中文的就可以是 Strings.zh-CHT.resources(繁体中文)。所谓的默认版就是当找不到适当的资源版本时用的资源,一般都是英文。默认文件应当被嵌入到主 Assembly 中,这样就不会发生找不到资源的错误。在 VS.NET 中将一个文件的属性设为 Embedded Resource 可以使资源被嵌入到主 Assembly 中。

  .NET文件类型:资源文件类型

  System.Resources 名字空间支持三种资源文件:

  .txt 文件,只能有字符串资源。因为不能被嵌入到 Assembly 中,所以很容易暴露,被客户修改。最大缺点是仅支持字符串资源,所以不推荐使用。

  .resx 文件,由 XML 组成,可以加入任何资源,包括二进制。同样不能被嵌入到 Assembly 中。在 System.Resources 名字空间中有专用读写的类。VS.NET 创建这种文件然后将其转成 .resources 文件并根据设置将其嵌入到 Assembly 中。

  .resources 文件,PE 格式,可以加入任何资源。唯一可以被嵌入到 Assembly 的文件,在 System.Resources 名字空间中有专用读写的类。

0