Bom
pessoal, para quem precisa utilizar um arquivo seja ele imagem, dll, ou
qualquer outro tipo de arquivo e para isto está tendo que colocá-lo na pasta
junto com o executável, este artigo pode dar uma idéia bem prática para
resolver esta situação.
Hoje,
quando inserimos alguma imagem ou arquivo, o Visual Studio já inclui no projeto
uma pasta Resources como pode ser visto na Figura
1.

Figura 1 – Pasta resources
gerado pelo VS ao incluir arquivo no resources do projeto
Os arquivos contidos nesta pasta podem ser recuperados em qualquer lugar do projeto, podendo ser lido, apresentado ou copiado para algum diretório.
Para que possamos recuperar este arquivo, temos que seguir as seguintes regras:
- A propriedade Build Action dos arquivos deve estar marcada como Embedded Resource, para configurar é necessário visualizar as propriedades do arquivo e selecionar este valor, como pode ser visto na Figura 2.
- Todas as classes do projeto podem recuperar estes arquivos, exceto as classes Estáticas.

Figura 2 – Configurando a
propriedade Build Action dos arquivos do Resources
Uma vez realizada as configurações dos arquivos, nos resta agora gerar o código para que se possa recuperar o stream do arquivo que está no Resource e pronto. Para isto será necessário implementar o código que está na Listagem 1.
No exemplo da Listagem 1, no evento de um botão está a chamada para recuperar o arquivo do resource, note que o caminho do arquivo que deve ser passado é Nome do Projeto + Resource + Nome do arquivo.
O comando retornará um Stream, que no exemplo é uma imagem que será apresentada em um pictureBox, mas poderia ser salvo em disco, ou apresentado em outro componente.
Sendo assim, para que se possa incluir um arquivo de texto, de configuração seria a mesma lógica, a partir do momento que você consegue recuperar o Stream, a finalidade vai depender de você.
Listagem 1 – Recuperando arquivo a partir do Resource do Projeto
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
private void button1_Click(object sender, EventArgs e)
{
Stream arquivo = this.GetType().Assembly.GetManifestResourceStream(
"RecAqruivo.Resources.Inverno.jpg");
pictureBox1.Image = new Bitmap(arquivo);
}
Conclusão
Para recuperar arquivos do
Resource de um projeto, basta incluí-lo, setar a propriedade Build Action para Embedded Resource e recuperá-lo de qualquer
classe que não seja estática.