Často je vhodné přibalit potřebná data projektu přímo do exe souboru. Výhod to má několik, například nemusíme řešit distribuci většího počtu souborů, není potřeba kontrolovat, jestli ho uživatel nesmazal, jestli je k němu přístup atp.
Nejdříve soubor přidáme do projektu (na obrázku Napoveda.txt) a ve vlastnostech nastavíme Build Action na Embedded Resource.
V kódu pak můžeme k souboru přistoupim tímto příkazem:
Dim stream As System.IO.Stream
stream = System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream("MojeAplikace.Napoveda.txt")
Všimněte si, že se odkazuju na soubor pomocí jména složeného z jmenného prostoru + tečka + jméno souboru. Samotné jméno souboru nestačí!
Například text do konzole pak dostaneme ze streamu takto:
Module Module1
Sub Main()
Dim stream As System.IO.Stream
stream = System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream("MojeAplikace.Napoveda.txt")
Dim streamReader As New System.IO.StreamReader(stream)
Dim text As String = streamReader.ReadToEnd()
Console.Write(text)
Console.ReadKey()
End Sub
End Module
V ukázkové aplikaci pak dostaneme tento výsledek:
V konzoli je vypsaný text z přibaleného souboru