我们写的程序,进行编译后,会生成相应的程序集,那末这个程序集中主要包括那些内容呢?主要包括了:中间代码,数据,元数据和资源文件。
对前3者的解释,之前的博客中说过,此次滤过,所以,本片博客讲的就是资源文件
资源文件就是图片,xml文件,文本文件,excel文件等,我们可以从另外一个角度去理解,那就是甚么是中间代码,数据和元数据?我们用C#写1段代码,这段代码中,有关具体的数据,经过编译后,就到数据区,而其它的就被编译为中间代码,固然,元数据是.net framework自动给我们编译好了的,具体关于元数据可以看这篇博客。
所以呢,我们可以这么理解,凡是没有经过编译处理过的文件(没有进行设置其属性等操作),我们都可以称为资源文件,固然,我们终究的目的是通过设置其属性,让其编译到程序集中
自定控件的开发,对web中的自定义控件的开发进程中,会用到很多的js、css和图片文件,这些都是资源文件,并且这些还是开发web自定义控件必须用的文件;
Spring.net等程序集集合的使用,这类的资源文件1般是给使用时进行配置的“接口”,如我们配置的xml文件
Web开发中使用的js文件,css文件,图片,或excel,word文件,这些都是资源文件
对上面两种资源文件的使用,其都是1个具体功能实现的进程中不可缺少的1部份,只不过,由于我们的使用情势不同,给我造成其作用不相同,如:web开发中的图片文件,我们通过疏忽其作用,但是,对Nhibernate给我们提供的资源文件,我们确认为,这个使程序更加的灵活,更加的强大,其实都是1个事,固然,从编程的角度上说,后者却是很强大,并且,我们在以后的设计进程中,也应当朝着这个方向做,固然,如果你嫌配置的太多,你以后的程序设计也能够使用微软的MVC思想:约定大于配置。
对web开发,UI层使用的资源文件,我们不用管,由于,我们程序部署的时候,就是全部的将UI层给复制走了,所以,这些资源文件对已部署上的程序来讲,还可以访问,但是,对像BLL层这类给别的程序提供服务的程序集,如果其内部使用了资源文件,那末,必须需要对资源文件进行1些处理,以确保,这个资源文件可以弄到本程序集中,这样才能被使用者所接受(用户只关系这个dll就行,不需要关心其内部使用的资源文件)
如何将资源文件弄到程序集中内?我们可以设置资源文件的属性,将其设置为嵌入到程序集中,也能够添加1个.net给我们提供的“资源文件”,将我们需要的资源文件直接拖放到里面进行管理就行。
注意:我们BLL程序集内的代码不要通过物理路径访问这些资源文件,应当使用.net给我们提供的1些类进行操作。
在做桌面程序的时候,如果我们的UI层使用到了资源文件,那末,我们打包发布时,应当将其添加到安装包中,此时,你应当知道这其中的原理了吧。
资源文件很重要,特别从程序灵活性上理解,其作用非常的强大。