存入时:
ResourceWriter rw = new ResourceWriter("MyRes.resources");
rw.AddResource( "Error.ico" , new Icon("Error.ico") ) ;
rw.AddResource( "Connected.bmp" , Image.FromFile("Connected.bmp") ) ;
FileStream fs = new FileStream("App.exe",FileMode.Open, FileAccess.Read);
byte [] abUnStru = new byte[fs.Length];
fs.Read(abUnStru,0,(int)(fs.Length));
rw.AddResource( "App.exe",abUnStru);
rw.Generate();
rw.Close();
fs.Close();

解决方案 »

  1.   

    调用ico和bmp时:
    ResourceManager rm = new ResourceManager("MyNameSpace.MyRes", Assembly.GetExecutingAssembly());
    notifyIcon1.Icon = ((Icon)(rm.GetObject("Error.ico")));
    picture1.Image = ((Image)(rm.GetObject("Connected.bmp")));
    这都没问题。但在调入exe时,
      

  2.   


    ResourceManager rm = new ResourceManager("MyNameSpace.MyRes", Assembly.GetExecutingAssembly());
    byte [] abApp = (byte [])(rm.GetObject("App.exe"));
    读入abApp总是为空
      

  3.   


    Assembly a = Assembly.GetEntryAssembly();
    Stream strm = a.GetManifestResourceStream( a.GetName().Name+".App.exe" );

    Stream strm = a.GetManifestResourceStream( "MyNameSpace.MyRes.App.exe" );
    读入时 strm也总为空
      

  4.   

    那是一个序列化的问题,byte[]好像不支持bin序列化,你先把byte[]用base64编码转换成字符串保存看看。
      

  5.   

    还是直接加入工程吧,不往资源文件里放了,然后用Stream strm = a.GetManifestResourceStream( a.GetName().Name+".App.exe" )取出来用。
    结贴算了