Aqui está o que funcionou para mim. (Eu precisava ler o conteúdo de um arquivo incorporado em um arquivo de imagem .NET executável.)
Antes de fazer qualquer coisa, inclua seu arquivo em sua solução no Visual Studio. (No meu caso, VS 2017 Community.) Mudei para a pasta, Solution Explorer
cliquei com o botão direito do mouse Properties
, escolhi Add Existing Item
e selecionei o arquivo. (Diga FileName.txt
,.) Em seguida, ainda no Solution Explorer
, clique com o botão direito do mouse no arquivo incluído, selecione Properties
e escolha Build Action
comoEmbedded Resource
.
Em seguida, use este código para ler seus bytes:
string strResourceName = "FileName.txt";
Assembly asm = Assembly.GetExecutingAssembly();
using( Stream rsrcStream = asm.GetManifestResourceStream(asm.GetName().Name + ".Properties." + strResourceName))
{
using (StreamReader sRdr = new StreamReader(rsrcStream))
{
//For instance, gets it as text
string strTxt = sRdr.ReadToEnd();
}
}
Observe que neste caso não é necessário adicionar esse arquivo como recurso conforme foi proposto na resposta aceita .