İlginizi Çekebilir
  1. Ana Sayfa
  2. Visual Studio

DLL Oluşturma ve Kullanma – Class Library

DLL Oluşturma ve Kullanma – Class Library
+ - 6

Merhaba, DLL Oluşturma ve Kullanma – Class Library yazımla neden şimdiye kadar yazmamışım dediğim bir yazıyı sizlere sunuyorum. Bu derste DLL yapma işlemini göreceğiz. Uzun zamandır hiç değiştirmeden kullandığınız classlarınız var ise örneğin sql connection class, mail gönderme class gibi uzun süreler hiç değiştirme gereği duymadığınız class dosyalarınız var ise onları DLL yaparak kullanabilirsiniz. Belki de özel bir işlem için kod yazdınız ve bu kodu kullanıma açmak istiyorsunuz. O zaman ilgili işlemleri bir dll yaparak başkalarının da kullanabilmesi için yayınlayabilirsiniz.

DLL Oluşturma ve Kullanma – Class Library

Bu dersimizde sizlere bir DLL dosyasını nasıl hazırlayacağınızı ve bu DLL dosyasını projenizde nasıl kullanacağınızı anlatacağım. Bu derse konu olan projeleri github profilimde bulabilirsiniz. Aşağıdaki bir kaç

Visual Studio’yu çalıştırıyoruz ve kodsuz olarak bir proje açıyoruz. Team Explorer’den github üzerinde bir repository tanımlıyoruz. Solution Explorer tabına geliyoruz ve üst menüden File > New > New Project diyoruz. Projeyi az önce kodsuz devam ederek açtığımız projenin klasörünü seçmelisiniz.

NOT: Buraya kadarki kısmı yapmanıza gerek yoktur. Ben projeyi github’a atacağım için yapıyorum. Aşağıdaki videoda daha net görebilirsiniz.

 

Şimdi bir windows form projesi açıyoruz. Ben proje adına Proje dedim. :)  Videoda da gördüğünüz gibi açacağımızı tüm projeler ana proje içerisinde olacak. Projeyi açtıktan sonra tekrar File > New > New Project diyoruz. Üst Orta kısımdaki Arama alanına  “Class Library” yazıyoruz. Aşağıdaki görselde görebilirsiniz. Sarı renkle işaretlenmiş olanı Class Library (.NET Framework) seçmeniz gerekiyor. Diğerlerini seçerseniz hatalar alabilirsiniz.

DLL Oluşturma ve Kullanma

Next diyoruz ve aşağıdaki gibi ekran karşımıza çıkıyor. Buradaki tüm kısımlar önemlidir. Proje adı DLL’in adı olacak. Projenize eklerken bu adı kullanacaksınız. Location kısmı da ana projemiz ile aynı klasörde olmalı. Framework ise ana projemizden daha yüksek olmamalıdır.

DLL Oluşturma

Projelerimizi açtık. Solution Explorer aşağıdaki gibi görünmeli…

Class Library

Şimdi Class1.cs’in adını değiştirip Hesaplamalar yapıyorum ve içerisine 3 adet sayıyı toplayacak bir metot ekliyorum.

using System;

namespace MustafaDLL{
    public class Hesaplamalar
    {
        public static double Toplama(double i1, double i2, double i3)
        {
            return i1 + i2 + i3;
        }
    }
}

F6 tuşuna basarak projeleri bir kere build ediyoruz. Build işleminden sonra DLL oluşuyor. DLL oluşurma işlemimiz buraya kadardı. Şimdi ana projemize ekleyelim. Solution Explorer kısmından ana projemizin Referansces kısmına sağ tık yaparak Add Referances diyelim.  Sonrasında Browse diyerek Class Library projemizin bin /debug klasörüne giderek DLL dosyamızı bulalım ve projemize ekleyelim.

Form1 ‘i açalım ve kodlarımızı yazalım.

using System;
using System.Windows.Forms;
using MustafaDLL;
namespace Proje
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void Form1_Load(object sender, EventArgs e) { }
        private void button1_Click(object sender, EventArgs e)
        {
            MessageBox.Show(Hesaplamalar.Toplama(5, 6, 6).ToString());
        }
    }
}

Kodlarda gördüğünüz gibi, DLL’i projeye ekledikten sonra formumuza da namespace olarak ekledik. Bir buttonun click eventinde de toplama metodunu kullandık. Aşağıda bu derse özel hazırladığım videoyu görebilirsiniz.


DLL Oluşturma ve Kullanma – Class Library yazımda bu kadardı arkadaşlar.  Bu derste dll nasıl yapılır öğrenmiş olduk. Diğer yazılarımızda görüşmek üzere….

Umarım faydalı olmuştur. Aşağıdaki linklerden eğitim seti sayfasına ve github projesine ulaşabilirsiniz. C Sharp Eğitim Seti eğitimi sayfasına gitmek için tıklayınız.  Bu ders için özel olarak hazırladığım Github Projesine buradan ulaşabilirsiniz…  Ayrıca bu yazının PDF’ine buraya ve ya buraya tıklayarak ulaşabilirsiniz. Discord’a katılmayı unutmayın.

Sağlıcakla ve kodla kalın….

Bu yazıya tepkiniz ne oldu?

Yazar Hakkında

Lise Ağ Sistemleri ve Yönetimi bölümü, üniversite Bilgisayar Programcılığı bölümü Ön Lisans, Yönetim Bilişim Sistemleri Lisans öğrenimi aldım. Askerlik görevimi tamamladım. Uzmanlık alanım; C# ve SQL Programlama dilleri ile müşteri odaklı, kullanıcı dostu ERP ve CRM gibi sistemleri geliştirmektir. Ayrıca şuanda PHP ve MYSQL alanında projeler geliştirmekteyim. C++, Phyton, Xamarin, MVC gibi konuları öğrenmek ve kendimi geliştirme çabası içerisindeyim. Discord için: https://discord.gg/FBxZeHu9

Değerli yorumlarınızı bekliyorum. :)

Yorumlar (6)

Popüler Yorumlar
  1. Selamlar,
    Bu değerli yorumunuz için çok teşekkür ederim. Gerçekten mutlu oldum.
    Bu yazıları değerli kılan şey sizlere kattığı değerlerdir. Eğer faydalı oluyor ise değerlidir. Bende okul konusunda çok sıkıntılar çektim. Şu zamana kadar ne öğrendiysem hep kendi çabalarımla öğrendim.
    Yorumunuza istinaden demek istediğim bir kaç cümle var.
    İlk olarak hazıra konma diye bir şey yok aslında. Neden diyecekseniz, ilk aşamalarda bu mutlak gibi bir şey. İllaki hazır kodları kullanacaksınız. Zamanla şu olacak, hazır kodları yine alacaksınız ama kopyala yapıştır yapmak yerine üzerinde uğraşıp, konuyu öğrenip kullanacaksınız. Hazır kodlar kullanın. Hatalar çıksın, Hataları çözün. Hatalar çıksın. Hataları çözün ve öğrenmeye başlayın. Yazılım geliştirmek problem çözme sanatıdır. Ortada bir sorun vardır, iyileştirilmesi gereken bir iş vardır, hızlandırılması gereken bir iş vardır ve programlar yazarak biz bu çözümleri uygularız. Bu sebeple kendinizi çok kasmayın. Dilediğiniz gibi kullanın kodları… Çünkü zamanla kullanmaya gerek olmayacak seviyelere geleceksiniz.

  2. Sizde sağlıcakla kalın. Virüsten uzak sağlıklı günler dilerim. Allah’a emanet olun.

  3. 4 sene önce

    Değerli arkadaşım, Saygıdeğer hocam Mustafa bey;
    Valla inanırmısın yazıların o kadar değerli ki hergün bakıyorum bugün yeni yazı varmı diye. Ben seni Kütahya dan rahatsız ediyorum. Yaşım 57 Resmi bir kurumda özel işçi olarak emekli oldum. Emekli olduktan sonra biraz daha çalıştıktan sonra bu proglama işine iyice müptela oldum. Neden dersen vakti zamanında kendim sıfırdan proje yazdığım için bu konulara karşı ilgim çok. Yani demem oki hazır projeleri inceliyorum ve birşeyler anlamaya çalışıyorum. Yani hazıra konma gibi nüksüm yok. Geçen başıma bir şey geldi. Vatandaşın biri proje yapmış ve herşeyi var sayfasında paylaşmış. Ve önce sql tablosunu sonra içindeki verileri girdim. Proje gayet güzel çalışıyor ama ben girip çalıştıramadım. Sayfanın sahibine yazdım bana yardımcı olurmusun diye. Hemen team viwer ile bağlandı bir sağ bir sol kullanıcı şifresini girdi ve şifreyi girdi proje çalıştı. Şimdi diyeceksinki sende neden çalışmadı. Bende çalışmamasının nedeni giriş şifresini md5 ile şifelemiş ve sayfasında diyorki kullanıcı adı TC No şifre ise md5 ile şifrelenmiş ama şifre aslında 123 müş. Yaa arkadaş girmediğim yer kalmadı incelemediğim yer kalmadı. O anda aklımamı geldi heyecandan :) Ve bana dediki hazıra konma eğitim videolarına bak ve kendini geliştir dedi. Bende öyle yaptım. Eğitim videolarına bakaraktan kendime ait 3 adet proje yazdım. C# aşinalığım pek olmasada 1i C# ötekide vb.net. Şimdi senin yazıların bana neden değerli geldi biliyormusun ben okuyamadım zamanında maddi durumdan dolayı. ama şimdi bu kodlama yani proje işi içimde ışık yaktı. Sen ve senin gibi değerli arkadaşların yazıları ve projeleri ile ilerlemeye çalışıyorum. Seninle tanışmak bana onur ve şeref verdi. Eğer rahatsızlık verdiysem affola. Saygılarımla Mehmet Sarıoğlu

  4. 4 sene önce

    Eyvaallah asıl TEŞEKKÜR benden. Sağlıcakla kal. Allah’a emanet olasın. Görüşmek üzere.

  5. Merhaba,
    Güzel yorumun için teşekkür ederim.
    Farklı uygulamalara DLL enjekte etme konusuna daha önce hiç bakmadım. O yüzden şuan bir bilgim yok. Ancak yorumun üzerine bu konuyu da listeme aldım ne zaman hazırlarım bilemiyorum ama listemde olduğundan bir ara yazar ve videosunu çekerim.

  6. Merhabalar hocam,
    videonuz çok hoş elinize sağlık bir konuda soru sormak veya istekte bulunmak istedim.
    Ben dll yi oyuna veya programa enjekte ettiğimde yazı yazdırmak istiyorum mesela google chrome a enjekte edip sol üstünde Enes vb şeyler yazdırmak istiyorum nasıl olabilir videosunu çeker misiniz veya gmail üzerinden bana projeyi gönderebilir misiniz teşekkürkler şimdiden seviliyorsunuz.

Yapılan Yorumlar
  1. 4 sene önce

    Değerli arkadaşım, Saygıdeğer hocam Mustafa bey;
    Valla inanırmısın yazıların o kadar değerli ki hergün bakıyorum bugün yeni yazı varmı diye. Ben seni Kütahya dan rahatsız ediyorum. Yaşım 57 Resmi bir kurumda özel işçi olarak emekli oldum. Emekli olduktan sonra biraz daha çalıştıktan sonra bu proglama işine iyice müptela oldum. Neden dersen vakti zamanında kendim sıfırdan proje yazdığım için bu konulara karşı ilgim çok. Yani demem oki hazır projeleri inceliyorum ve birşeyler anlamaya çalışıyorum. Yani hazıra konma gibi nüksüm yok. Geçen başıma bir şey geldi. Vatandaşın biri proje yapmış ve herşeyi var sayfasında paylaşmış. Ve önce sql tablosunu sonra içindeki verileri girdim. Proje gayet güzel çalışıyor ama ben girip çalıştıramadım. Sayfanın sahibine yazdım bana yardımcı olurmusun diye. Hemen team viwer ile bağlandı bir sağ bir sol kullanıcı şifresini girdi ve şifreyi girdi proje çalıştı. Şimdi diyeceksinki sende neden çalışmadı. Bende çalışmamasının nedeni giriş şifresini md5 ile şifelemiş ve sayfasında diyorki kullanıcı adı TC No şifre ise md5 ile şifrelenmiş ama şifre aslında 123 müş. Yaa arkadaş girmediğim yer kalmadı incelemediğim yer kalmadı. O anda aklımamı geldi heyecandan :) Ve bana dediki hazıra konma eğitim videolarına bak ve kendini geliştir dedi. Bende öyle yaptım. Eğitim videolarına bakaraktan kendime ait 3 adet proje yazdım. C# aşinalığım pek olmasada 1i C# ötekide vb.net. Şimdi senin yazıların bana neden değerli geldi biliyormusun ben okuyamadım zamanında maddi durumdan dolayı. ama şimdi bu kodlama yani proje işi içimde ışık yaktı. Sen ve senin gibi değerli arkadaşların yazıları ve projeleri ile ilerlemeye çalışıyorum. Seninle tanışmak bana onur ve şeref verdi. Eğer rahatsızlık verdiysem affola. Saygılarımla Mehmet Sarıoğlu

    • Selamlar,
      Bu değerli yorumunuz için çok teşekkür ederim. Gerçekten mutlu oldum.
      Bu yazıları değerli kılan şey sizlere kattığı değerlerdir. Eğer faydalı oluyor ise değerlidir. Bende okul konusunda çok sıkıntılar çektim. Şu zamana kadar ne öğrendiysem hep kendi çabalarımla öğrendim.
      Yorumunuza istinaden demek istediğim bir kaç cümle var.
      İlk olarak hazıra konma diye bir şey yok aslında. Neden diyecekseniz, ilk aşamalarda bu mutlak gibi bir şey. İllaki hazır kodları kullanacaksınız. Zamanla şu olacak, hazır kodları yine alacaksınız ama kopyala yapıştır yapmak yerine üzerinde uğraşıp, konuyu öğrenip kullanacaksınız. Hazır kodlar kullanın. Hatalar çıksın, Hataları çözün. Hatalar çıksın. Hataları çözün ve öğrenmeye başlayın. Yazılım geliştirmek problem çözme sanatıdır. Ortada bir sorun vardır, iyileştirilmesi gereken bir iş vardır, hızlandırılması gereken bir iş vardır ve programlar yazarak biz bu çözümleri uygularız. Bu sebeple kendinizi çok kasmayın. Dilediğiniz gibi kullanın kodları… Çünkü zamanla kullanmaya gerek olmayacak seviyelere geleceksiniz.

  2. Merhabalar hocam,
    videonuz çok hoş elinize sağlık bir konuda soru sormak veya istekte bulunmak istedim.
    Ben dll yi oyuna veya programa enjekte ettiğimde yazı yazdırmak istiyorum mesela google chrome a enjekte edip sol üstünde Enes vb şeyler yazdırmak istiyorum nasıl olabilir videosunu çeker misiniz veya gmail üzerinden bana projeyi gönderebilir misiniz teşekkürkler şimdiden seviliyorsunuz.

    • Merhaba,
      Güzel yorumun için teşekkür ederim.
      Farklı uygulamalara DLL enjekte etme konusuna daha önce hiç bakmadım. O yüzden şuan bir bilgim yok. Ancak yorumun üzerine bu konuyu da listeme aldım ne zaman hazırlarım bilemiyorum ama listemde olduğundan bir ara yazar ve videosunu çekerim.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.