C#中內嵌資源的讀取

原由

做爲一個從Cpper轉到C#而且直接從事WPF開發的萌新來講,正式編碼過程當中碰到了很多問題,一路上磕磕碰碰的。由於軟件設計需求上的要求,須要將一些配置文件(XML、INI等)內嵌到程序中,等須要時進行讀取。找了很多資料,加上本身的連蒙帶猜,終於搞定了。在此,乘着還熱乎着趕忙記錄下。本人用的是Visual Studio 2015 英文版,其實都差很少的。ui

實現步驟

執行程序中加入內嵌文件步驟

  1. 在執行程序中找到 Resources.resx 並雙擊,會進入項目屬性的 Resources 選項卡中
  2. 在頂部的菜單項中,選擇 Add Resource 下拉菜單,根據本身的實際狀況新建文件進行編輯或者是加入已經存在的文件。
  3. 在工程中找到剛纔新增的文件,選擇 Properties ,找到 Build Action 屬性,將類型改成 Embedded Resource,而後保存。
  4. 至此文件已經加入到了運行程序內部了。爲了方便起見,我這裏假設我在 Config 目錄下添加了一個 Menus.xml 配置文件。編碼

    編碼讀取資源

System.Reflection.Assembly Asmb = System.Reflection.Assembly.GetExecutingAssembly();
string strName = Asmb.GetName().Name + ".Config.Menus.xml";
System.IO.Stream ManifestStream = Asmb.GetManifestResourceStream(strName);

byte[] StreamData = new byte[ManifestStream.Length];
ManifestStream.Read(StreamData, 0, (int)ManifestStream.Length);

這樣,內嵌資源中的數據就被讀取到了StreamData中,後續能夠按照本身的需求進行處理了。設計

在類庫動態庫中讀取內嵌文件步驟

類庫默認是不包含 Resources.resx 文件的,只須要在該類庫中添加一個 Resources.resx 文件,後續就能夠跟執行程序同樣的處理了。code

總結

目前尚未用到純粹資源動態庫的方式,等之後用到了再來補充下這種用法的步驟。xml

相關文章
相關標籤/搜索