如何使用内嵌资源(embedded resource)

 内嵌资源,

就是把一个资源文件bind到DLL里面来,可以在内部使用,而不需要file 在disk 上。

如何embedded resource? very easy:

选择要绑定的文件的属性:

然后可以根据需要选择,是否把这个内嵌的资源拷贝出来:

“Copy if newer”: 指如果磁盘的相同文件已经过期的话,会把内嵌的资源拷贝出来覆盖磁盘上的。

具体选择那个选项,要看具体的业务逻辑拉。

————————————————————————————

下面说说怎么在程序里面取到资源文件:

1。代码:

  Assembly assem = this.GetType().Assembly;
    Stream steam = assem.GetManifestResourceStream(
     "ProjectNameSpace.DirectoryNamespace.FileName");

NoteBook:

 #1. ProjectNameSpace.DirectoryNamespace.FileName, 指内嵌资源文件所在工程的命名空间+文件相对于工程文件的目录结构+内嵌文件的文件名(包含扩展名)

如: 有一个工程test.lib,其命名空间:wisdom.test.lib, 然后再工程的demo 文件夹下面有个swan.doc的word内嵌文件。

这样: wisdom.test.lib.demo.swan.doc

就组成了路径。

#2. this: 这里指的是必须是内嵌资源所在工程的中一个类的引用,因为必须要定位到当前工程。

如:有一个工程A引用了工程B的DLL文件,而内嵌资源文件在B中,那么如果你在A中使用this.GetType(). 当然找不到制定的资源文件了。

 到这里你就可以得到内嵌资源的stream对象啦,当然你就可以随意操作,读取等。 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值