Come posso estrarre un file da una risorsa incorporata e salvarlo sul disco?

Sto cercando di compilare il codice sottostante utilizzando CSharpCodeProvider. Il file è stato compilato correttamente, ma quando faccio clic sul file EXE generato, ottengo un errore (Windows sta cercando una soluzione a questo problema) e non succede niente.

Quando compilo il seguente codice utilizzando CSharpCodeProvider, ho aggiunto MySql.Data.dll come un file di risorse incorporato utilizzando questa riga di codice:

 if (provider.Supports(GeneratorSupport.Resources)) cp.EmbeddedResources.Add("MySql.Data.dll"); 

Il file è stato incorporato correttamente (perché ho notato che le dimensioni del file sono aumentate).

Nel codice qui sotto, provo ad estrarre il file DLL incorporato e salvarlo su System32, ma il codice sottostante non funziona per qualche motivo.

 namespace ConsoleApplication1 { class Program { public static void ExtractSaveResource(String filename, String location) { //Assembly assembly = Assembly.GetExecutingAssembly(); Assembly a = .Assembly.GetExecutingAssembly(); //Stream stream = assembly.GetManifestResourceStream("Installer.Properties.mydll.dll"); // or whatever //string my_namespace = a.GetName().Name.ToString(); Stream resFilestream = a.GetManifestResourceStream(filename); if (resFilestream != null) { BinaryReader br = new BinaryReader(resFilestream); FileStream fs = new FileStream(location, FileMode.Create); // Say BinaryWriter bw = new BinaryWriter(fs); byte[] ba = new byte[resFilestream.Length]; resFilestream.Read(ba, 0, ba.Length); bw.Write(ba); br.Close(); bw.Close(); resFilestream.Close(); } // this.Close(); } static void Main(string[] args) { try { string systemDir = Environment.SystemDirectory; ExtractSaveResource("MySql.Data.dll", systemDir); } catch (Exception ex) { Console.WriteLine(ex.Message); Console.ReadKey(); } } } } 

Come posso estrarre il file DLL incorporato come risorsa e salvarlo su System32?