• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

软件测试之Microsoft .NET 框架资源基础

发布: 2009-8-17 11:09 | 作者: 不详 | 来源: 领测软件测试网 | 查看: 55次 | 进入软件测试论坛讨论

领测软件测试网

软件测试之Microsoft .NET 框架资源基础  软件测试工具

关键字:.NET 框架资源假设要在应用程序中通过从文件加载位图来设置窗体的背景图像:

public Form1() {
  ...
  // Load a file from the file system
  this.BackgroundImage =
    new Bitmap(@"C:\WINDOWS\Web\Wallpaper\Azul.jpg");
}

该代码的问题是,并非所有 Microsoft Windows 的安装实例都有 Azul.jpg,即使是那些确实具有该文件的安装实例,该文件可能也不在安装实例的相同位置。即使您与应用程序一起交付该图片,节省空间的用户也可能决定删除它,这会导致您的应用程序出错。确保图片或任何文件与代码在一起的唯一安全方式是将它作为资源嵌入并加载。

清单资源
资源是在编译时添加到程序集中的。例如,如果您使用命令行编译器,则可以使用 /resource 开关嵌入资源:

C:\>csc.exe myApp.cs /resource:c:\windows\web\wallpaper\Azul.jpg

/resource 开关将文件作为资源嵌入,嵌入时使用文件名(没有路径)作为资源名称。文件嵌入到程序集的清单 资源集中。程序集的清单由一组作为程序集一部分的元数据组成。该元数据的一部分是与每个嵌入资源关联的名称和数据。执行 ildasm 时,可以在清单部分看见程序集清单资源的列表,如图 1 所示。

C:\>ildasm.exe myApp.exe



图 1. ildasm 显示嵌入资源


可以像 ildasm 一样枚举清单资源的列表,这需要使用 System.Reflection.Assembly 类的 GetManifestResourceNames 方法:

using System.Reflection;
...
// Get this type’s assembly
Assembly assem = this.GetType().Assembly;

// Enumerate the assembly’s manifest resources
foreach( string resourceName in assem.GetManifestResourceNames() ) {
  MessageBox.Show(resourceName);
}

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

TAG: microsoft Microsoft net NET Net 框架 软件测试 资源

71/71234567>

关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网