2012-01-18 166 views
2

如何從資源中的文件獲取二進制體?從資源獲取dll

我嘗試這樣做:

byte[] bin = Properties.Resources.DllName; 
StreamWriter writerDll = new StreamWriter("dll.dll"); 
writerDll.Write(bin); 
writerDll.Close(); 

,但我得到的文件只是第一道防線。如何解決這個問題? 在此先感謝!

+3

StreamWriter用於文本。不要這樣寫代碼。它不會在你的用戶機器上工作,UAC停止它。其中嵌入了DLL的單個.exe文件稱爲setup.exe,用Setup項目創建一個。 – 2012-01-18 04:20:45

+0

漢斯是對的。一種情況下,*可以*有意義,但是如果你嵌入的DLL是一個.NET程序集,你的應用程序將會使用(想想'Assembly.Load(byte [] rawAssembly)'),在這種情況下你不應該無論如何,將其轉儲到磁盤。即使如此,ILMerge也是更好的選擇。 – 2012-01-18 04:27:12

回答

1

第一行完成所有工作。 刪除其他行。