當前位置:首頁 » 資源管理 » 嵌入資源如何
擴展閱讀
成華水產品批發多少錢 2025-05-16 13:00:02
六色靈芝是哪個公司產品 2025-05-16 12:59:51
團游和自由行哪個費用低 2025-05-16 12:56:03

嵌入資源如何

發布時間: 2022-05-18 11:54:14

① c#怎麼讀取項目里嵌入的資源

項目資源文件的資源(就是在「項目 - 資源」選項卡里添加的資源)可以這樣訪問:
global::項目名.Properties.Resources.資源名;
如果要訪問窗體資源文件的資源可以這樣:
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(窗體名)); //先定義自己窗體的資源訪問類,然後就可以通過這個resources訪問窗體資源。

② c# 如何把db資料庫嵌入資源

其實不用嵌入,每次生成時重新復制就行。首先將資料庫加入項目中,然後在資料庫上右擊,在彈出的快捷菜單中選擇屬性,然後在「復制到輸出目錄」欄中選擇「始終復制」或者「較新時復制」。這樣每次生成時就會復制到輸出目錄(Release或Debug)。

③ C#怎麼把.xml文件生成嵌入資源。.xml文件我已經寫好了,要怎麼樣把它生成嵌入資源文件。說下操作步驟

選擇這個xml文件,右擊-屬性--嵌入的資源就行了

④ 如何將資源文件正確嵌入或鏈接到程序集

第一次使用資源文件,難免問題多多。我的情況是:
我的程序窗口基類位於程序集A中,在基類中使用了圖片資源
System.Resources.ResourceManager rm =new System.Resources.ResourceManager("命名空間.資源文件名",
System.Reflection.Assembly.GetExecutingAssembly());
_changeColorBox.Image = (Image)rm.GetObject("圖片資源名");
這不,來了這個錯誤:
System.Resources.: 未能找到任何適合於指定的區域或非特定區域性的資源。請確保在編譯時已將「****.****.Resource.resources」正確嵌入或鏈接到程序集"****",或者確保所有需要的附屬程序集都可載入並已進行了完全簽名。 怎麼解決呢?問題是找不到資源,需要正確地將資源文件嵌入或鏈接到程序集,怎麼做?
在命令行您需要選擇:/res:資源文件名.resources;
在VS.NET中,您同樣需要做類似的工作:
Project->Add Existing Item->All files->資源文件名.resources,
這樣,您的資源文件名.resources就以Embeded Resource形式被嵌入到程序中,在運行時才不會出錯。

⑤ C#嵌入的資源可否提取

可以,利用反射,參考:

Assemblyassm=this.GetType().Assembly;//Assembly.LoadFrom(程序集路徑);
foreach(stringresNameinassm.GetManifestResourceNames())
{
Streamstream=assm.GetManifestResourceStream(resName);
ResourceReaderrr=newResourceReader(stream);
=rr.GetEnumerator();
while(enumerator.MoveNext())
{
DictionaryEntryde=(DictionaryEntry)enumerator.Current;
//de.Key是資源名
//de.Value是資源內容
}
}

⑥ 如何將JS文件作為嵌入資源放在DLL中

你應該說的是使用伺服器控制項開發, 使類繼承control介面, 右擊js文件屬性窗口 生成操作設置為"嵌入資源"; 在namespace上設置[assembly: System.Web.UI.WebResource("NAMESPACE名稱.b.js", "application/x-javascript")],

⑦ 如何在C#中使用內嵌資源文件

當你使用內嵌資源文件時,通常要知道資源的名稱.實際上它可以像一個文件名,但是通常會比文件名更復雜一點點.命名一般包括三個部分:<預設的命名空間.><擴展命命名空間.><文件名>上面的第一部分和最後的第三部分都好理解. 預設的命名空間就是項目的命名空間,文件名就是資源文件的名稱.中間的這部分可能有些迷惑. 簡單的講,擴展命名空間就是項目中的目錄結構.如果你的資源文件就在項目的根目錄下,擴展命名空間就不需要了,直接這樣寫就可以了. <預設的命名空間.> <文件名>. 但是如果你在項目中產生目錄結果的話,就要使用使用擴展命名空間了.比如你在項目的根目錄下產生了一個Images目錄,那麼資源文件就要這樣來表示: <預設的命名空間.> Images.<文件名>. 如果你在Images路徑下還有一個目錄FormGraphics,那麼資源文件就要這樣表示: <預設的命名空間.> Images.FormGraphics.<文件名>我想大家可能已經發現了上面的規律,在代碼中你也可以這么寫.當你在目錄下使用VS自動產生了類,它也是安裝這樣的方式來命名類的名稱. <預設的命名空間.><擴展命命名空間.>. 雖然你可以手工的修改代碼中的命名空間,但是有一點要記住,是不可以修改內嵌資源文件的命名空間結構的.如何得到資源普通方法普通的使用內嵌資源文件的方法是使用Assembly類的GetManifestResource方法.在第一個演示程序中,我們會使用下面這兩個方法GetManifestResourceNames, GetManifestResourceStream這個演示程序會列舉出一個裝配件中的資源,可以把存選中的資源保到一個文件中.如果資源是一個圖象,在程序中就可以顯示出來.如果你還沒有一個內嵌資源的裝配件,第二個演示程序就是一個含有資源的裝配件. 這是在ListBox的 ListBox's SelectedIndexChanged 事件中,如果出來資源System.IO.Stream stream = loadedAssembly.GetManifestResourceStream( (string) resources.SelectedItem); System.Drawing.Image img = Image.FromStream(stream);上面的演示程序把一個裝配件調入內存,在loadedAssembly變數中存儲一個Assembly實例.也許在你的應用程序中,不需要調用其他裝配件的資源,你只是想能從你自己的程序中得到資源.最簡單的方法是使用Type類的Assembly屬性來得到某一個類的一個實例,你可以用下面的方法來得到Type,如果是一個類,使用typeof(<class>),如果是一個類的實例變數,使用GetType().另一種實現方法GetManifestResourceStream有兩種重載方法,一種是從一個資源文件中來得到一個Stream對象, 另一個中使用Type和string. 第二個會幫助我們得到可以使用的資源.它會根據清單資源的范圍由指定類型的命名空間確定資源清單第二個演示程序是利用上面說得第二個方法來實現的. 總結當你理解了上面的內容後,對於VS.net內嵌資源的使用就是易於反掌了.唯一要注意的地方就是找出VS.Net給你的資源文件的名字.

⑧ C# 如何讀取嵌入式資源

Assembly assembly = GetType().Assembly;
System.IO.Stream streamSmall = assembly.GetManifestResourceStream("WindowsFormsApplication1.event.jpg");
//當作為一個資源被嵌入後,資源的完整名稱會由項目的默認命名空間與文件名組成
Bitmap BackgroundImg = new Bitmap(streamSmall);
pictureBox1.Image = BackgroundImg;

Assembly assembly = GetType().Assembly;
System.IO.Stream streamSmall = assembly.GetManifestResourceStream("WindowsFormsApplication1.NewFolder1.TextFile1.txt");
StreamReader sr = new StreamReader(streamSmall);
string text = sr.ReadToEnd();
MessageBox.Show(text);

⑨ C#中,如何通過反射獲取dll中的嵌入資源

System.Reflection.Assembly dll = System.Reflection.Assembly.LoadFile("文件路徑");
Stream xmls = dll.GetManifestResourceStream("a.dll的命名空間.項目中的文件路徑.文件名");

後面就可以把這個xml作為正常的xml文件的流來使用了。

不好意思,只是按照自己的想法寫的。沒有去實踐。
這個問題是我寫錯函數了。用load函數的話。參數是dll的命名空間。我已經改了上面的source。
你試一下。

試了一下,這樣就好用了。

LoadFile,中的參數是你的dll的路徑。不是xml的路徑。