C#’ta yazmakta olduğum kütüphane bazı bilgileri dosyadan okuyor. Kütüphanenin dll’ini dağıtırken bu dosyanın da dll’e gömülü (embedded) olmasını istiyorum. Bu tür dosyalara kaynak dosyalar (resources) ismini verebiliriz. Kaynak dosyaların yalnızca okuma yapmak için kullanılabileceğini, yazma yapılamayacağını (readonly) hatırlattıktan sonra bunun nasıl yapılabileceğine geçelim:

1- Öncelikle kaynak dosyayı projeye dahil etmek için  projemize “Resources” isimli bir klasör açalım.

2- Klasörün içerisine kaynak dosyayı kopyalayalım

3- Dosyanın VS’de de  (Solution Explorer’da) görünür olması için resources klasörünün üzerine sağ tıklayarak Add->Existing Item diyelim ve kaynak dosyamızı seçelim

.net_embedded_resources

Resimde kaynak dosyam olan “conjugationData” görülüyor.

4- Kaynak dosya özelliklerinden Build Action = Embedded Resource seçiniz

.net_embedded_resources2

Daha sonra aşağıdaki gibi bir kod vasıtası ile rahatlıkla ulaşabilirsiniz:

Assembly assembly = Assembly.GetExecutingAssembly();
Stream stream = assembly.GetManifestResourceStream("Proje_ismi.Resources.conjugationData.xlsx");
StreamReader s = new StreamReader(stream);

Umarım faydalı olmuştur. Herkese kolay gelsin.

Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedInPrint this pageEmail this to someone