我們寫的程序,進行編譯后,會生成相應的程序集,那末這個程序集中主要包括那些內容呢?主要包括了:中間代碼,數據,元數據和資源文件。
對前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層使用到了資源文件,那末,我們打包發布時,應當將其添加到安裝包中,此時,你應當知道這其中的原理了吧。
資源文件很重要,特別從程序靈活性上理解,其作用非常的強大。