2011-10-28 16 views
7

Tengo una DLL incrustada en mi aplicación y necesito escribirla en el sistema de archivos en tiempo de ejecución. Tengo esto hasta ahora:¿Cómo escribir un flujo en un archivo?

Dim _assembly As Assembly = Assembly.GetExecutingAssembly() 
Dim _rawstream As Stream = _assembly.GetManifestResourceStream("MyFile.dll") 

Solo necesito escribir _rawstream en un archivo ahora.

EDIT: Esto tiene que ser .NET Framework 2 y CopyTo no existe :(

Respuesta

5
My.Computer.FileSystem.WriteAllBytes(output file, My.Resources.resourcename, False) 
1
using (FileStream fileStream = File.OpenWrite("MyFile.bin")) 
{ 
    _rawstream.CopyTo(fileStream); 
} 

EDIT: Vaya, lo siento, eso es C#, pero la VB debe ser similar

5

Utilice un FileStream y escribir en él

Dim fs As new FileStream("path to new file.dll", FileMode.Create) 

_rawstream.CopyTo(fs) 

Editar:.

para ver pre 4.0 this.

+0

Esto tiene que ser .NET Framework 2 y CopyTo no existe :( –

+0

@SixHouse - Se agregó un vínculo a una opción de pre 4.0. – Oded