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
Resimde kaynak dosyam olan “conjugationData” görülüyor.
4- Kaynak dosya özelliklerinden Build Action = Embedded Resource seçiniz
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.
19 Mart 2020 at 14:09
Süpersiniz teşekkürler.
08 Eylül 2021 at 15:29
Çok teşekkür ederim. İşime çok yaradı. Elinize sağlık 🙂