2009-05-21 9 views

Respuesta

12

Puede hacerlo agregando el archivo a los Recursos a través de las propiedades del proyecto. Visual Studio entonces le dará una clase práctica para acceder a su archivo usando el siguiente código

byte[] theFile = myNamespace.Properties.Resources.theBinaryFile; 

Cuando el nombre de recurso es theBinaryFile.

+1

RE: mi comentario sobre la respuesta a continuación. Si el archivo original cambia, ¿será reincorporado automáticamente la próxima vez que construya el proyecto? – Andy

+1

sí, si cambia el archivo, la próxima compilación actualizará el archivo de recursos. –

+0

gracias por su ayuda John. – Andy

4

Sí es fácil:

agregar el archivo a su proyecto y establecer el "Construir la acción" para "Recurso incrustado".

En su programa de hacer

foreach (string name in Assembly.GetExecutingAssembly().GetManifestResourceNames()) 
{ 
    if (name.EndsWith("<name>", StringComparison.InvariantCultureIgnoreCase)) 
    { 
    using (Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(name)) 
    { 
     // ... 
    } 
    break; 
    } 
} 

Encontrar el recurso adecuado se complica un poco porque hay cosas delante del nombre de archivo (espacios de nombres etc. establecen un punto de interrupción en el caso de (...) a ver el nombre real del recurso).

+0

muchas gracias, ¡voy a darle un giro! – Andy

+0

Esto funciona genial. Especialmente porque estoy cambiando constantemente el contenido del archivo y simplemente vuelve a incrustarlo cuando construyo el proyecto. – Andy

Cuestiones relacionadas