在做Windows Mobile开发的实现,有时候需要把图片等资源文件放到执行文件里面发布,这样发布一个执行文件就可以了,不需要发布其他额外的文件。下面以图形文件为例子讲述.NET Compact Framework下如何访问内嵌的资源文件。
需要把图片内嵌到资源文件中,只需要把图片文件拉到resource下就可以了,如下图:
图1
项目自动增加Resources文件夹来包含这些资源图片。
图2
可是想在C#下读出这些资源信息,还是出错,如下图,返回的Stream为null
图3
想读取内嵌资源,必须有两步操作
-
1. You must know the exact name of resource (mynamespace.resource.resourcename).
-
2. You must embed the resource into your executable.
-
第一步为一个完整的准确的资源名字。这个名字可以根据图2来写,例如background图片的完整名为:NavOctopus.Resources.background.png
-
可是只是做第一步还不能完全读取资源,需要进行第二部,否则会出现图3的错误。
-
第二步为把资源设置为 "Embedded Resource”,如下图:
做完这两步,就可以把内嵌资源读出来了。
参考文章: Accessing Embedded Resources using GetManifestResourceStream
出处:http://www.cnblogs.com/procoder/archive/2009/08/07/1541223.html