2012-01-18 168 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

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