.net中使用资源文件

  1. .net 支持三种文件类型的resource:.txt  .resx  .resources
  2. system.resources 名字空间支持三种资源文件:
    .txt 文件,只能有字符串资源。因为不能被嵌入到 assembly 中,所以非常容易暴露,被客户修改。最大缺点是仅支持字符串资源,所以不推荐使用。
    .resx 文件,由 xml 组成,能加入所有资源,包括二进制。同样不能被嵌入到 assembly 中。在 system.resources 名字空间中有专用读写的类。vs.net 创建这种文件然后将其转成 .resources 文件并根据设置将其嵌入到 assembly 中。
    .resources 文件,pe 格式,能加入所有资源。唯一能被嵌入到 assembly 的文件,在 system.resources 名字空间中有专用读写的类。
  3. 当你把resx文件通过vs加入到.net工程中后,之后编译时,它会被转化为resources文件并embed到assembly中。
  4. System.resources.resourceManager负责读取.net assembly中嵌入的resources文件中的资源信息。
  5. 三种文件类型,必须要转为resources文件,才能被resourcemanager读取(显然的)。ResGen.exe来干这事情。
  6. c++/CLI, vb.net, c#,大家都可以用resx文件是自然的。只不过在Vs里添加resx文件时,c#工程要支持的更完备些:直接替你封装好了对resourcemanager的使用。
  7. 推荐工具
    resgen.exe:sdk 中的工具,专门用来做资源文件类型之间的转换。支持 .txt <-> .resx <-> .resources 之间的转换。
    resourcer:专门用来创建资源文件,简单易用,支持 .resx 和 .resources 文件格式。(http://www.aisto.com/roeder/dotnet)
    .net reflector:用来浏览 assembly。如果你不确定一个资源文件的完整名时能用这个工具在 assembly 中查看。(http://www.aisto.com/roeder/dotnet)

 参考:http://www.sudu.cn/info/html/edu/20071226/23599.html

 

posted @ 2010-09-01 18:24  能巴  阅读(2136)  评论(0编辑  收藏  举报