• Anasayfa
  • Hakkımızda
  • Etkinlikler
  • Destek Verin
  • Site Haritası
  • Giriş Yap
  • Üye Ol
  • Facebook
  • Twitter
  • RSS
Yazılım Dilleri
  • Soru - Cevap
  • EĞİTİM SETİ
  • KATEGORİ
  • DUYURU
  • TEKNOLOJİ HABERLERİ

Son Sorular

  • 8/2/2020 11:38:31 PM'Basit' Yazılım Dili
  • 6/25/2020 3:18:13 PMderleme hatası
  • 12/11/2017 4:49:15 PMWindows Hizmeti Hk.
  • 4/23/2016 12:55:33 AMC programlama 2 oyun

Popüler Sorular

  • 5/27/2012 5:49:50 AMAsp.Net ile Date time alana veri ekleyemiiyorum ?
  • 4/2/2012 12:45:18 AM.exe uzantılı dosya için dijital imza nerde nasıl alınır.
  • 5/12/2012 8:44:49 AMAcil Yardım
  • 5/27/2012 1:46:51 PMveri tabanı bağlantısı
  • .Net Framework
  • 8085 Assembly
  • Active Directory
  • ADO.NET
  • Android
  • Apple IOS
  • Arduino
  • ASP.NET
  • ASP.NET MVC
  • Blackberry
  • C#.Net
  • C++
  • CCG Framework
  • CISCO
  • CSS
  • Diğer
  • Dreamweaver
  • Entity Framework
  • Exchange Server
  • Gömülü Sistemler
  • GSM Programlama
  • Güncel
  • Güvenlik
  • HTML5
  • Java
  • Javascript / JQuery
  • Jira
  • Kariyer ve İş Yaşamı
  • LibreOffice
  • LINQ
  • Linux
  • Matlab
  • Microsoft Dynamics CRM
  • Mobil Uygulama Geliştirme
  • MySQL
  • NoSQL
  • Oracle
  • OWIN
  • PFSense
  • PHP
  • Powershell
  • Python
  • Sanallastirma
  • SAP-ABAP
  • SCOM 2012
  • SEO
  • Sharepoint 2010
  • Sharepoint 2013
  • Silverlight
  • Sistem Analiz ve Tasarımı
  • SQL Server
  • Symantec
  • TFS
  • T-SQL
  • Ubuntu
  • VB.NET
  • Veritabanı Yönetim Sistemleri
  • Visual Studio
  • VMware
  • WCF
  • Web Hosting
  • Windows 8
  • Windows Azure
  • Windows Phone 7.1
  • Windows Phone 8
  • Windows Server
  • Wordpress
  • WPF
  • Xamarin
  • XNA
  • Yazılım Mühendisliği
  • Yöneylem Araştırması
  • ASP.NET MVC
  • Entity Framework
  • Javascript / JQuery
  • LINQ
  • PHP

Son Duyurular

IPhone 6 ve IPhone 6 Plus Teknik Özellikleri ve Fiyatı

IPhone 6 ve IPhone 6 Plus Teknik Özellikleri ve Fiyatı

DELL'in Yeni Projesi: USB Bilgisayar (Project Ophelia)

DELL'in Yeni Projesi: USB Bilgisayar (Project Ophelia)

Windows Phone Youtube Uygulaması Google ve Microsoft ile Yeniden Yapılıyor

Windows Phone Youtube Uygulaması Google ve Microsoft ile Yeniden Yapılıyor

Android ve Apple IOS Telefonlar için Blackberry Messenger (BBM)

Android ve Apple IOS Telefonlar için Blackberry Messenger (BBM)

Nokia Lumia 925 Teknik Özellikleri, Lumia 928 ve 920 ile Karşılaştırması

Nokia Lumia 925 Teknik Özellikleri, Lumia 928 ve 920 ile Karşılaştırması

LG Optimus G Pro Özellikleri ve Gözle Video Oynatma Teknolojisi

LG Optimus G Pro Özellikleri ve Gözle Video Oynatma Teknolojisi

C# Class Library Projesiyle DLL Oluşturulması ve Kullanımı

Visual Studio aracını kullanarak C# ile DLL (Dynamic Link Library) dosyalarının nasıl oluşturulabileceği ve oluşturulan DLL dosyalarının projelere nasıl entegre edilebileceğini inceleyelim.

24.07.2013

Yazar: Abdullah ALTINTAŞ (Google+)

Kategori: C#.Net

27278

Visual Studio kullanarak uygulama geliştirirken bazı durumlarda kaynak kodlarımıza DLL (Dynamic Link Library) dosyalarını referans olarak eklemek isteyebiliriz. Bazı durumlarda hazır oluşturulmuş kütüphaneleri (dll) eklemek gerekli olabilirken, bazı durumlarda ise kendi dll dosyamızı oluşturup daha sonra bu kütüphane dosyamızı diğer projelere referans olarak ekleyip kullanmak isteyebiliriz. Bu yazımızda sizlere basit bir dll dosyasının nasıl oluşturulacağını  ve diğer projelerimize bu dll dosyasının nasıl referans edilerek kullanıma alınacağını resimlerle görselleştirerek aktarmaya çalışacağım.

Öncelikle dll dosyası oluşturabilmek için Visual Studio ortamında yeni proje açma ekranından "Class Library" templete ini seçiyoruz ve oluşturacağımız dll dosyamıza bir isim veriyoruz. Örneğimizde OgrenciLibrary isminde bir dll oluşturuyoruz.

Visual Studio 2012 Class Library projesi oluşturma

Karşımıza gelen ekranda standart bir class yapısı mevcut durumda ve biz bu classın adını Ogrenci olarak değiştiriyoruz. Daha sonra bu sınıfa ait property (özellik) leri tanımlıyoruz. Burada tanımladığımız Ad, Soyad ve Yas isimli property ler dll oluşturulduktan sonra diğer projelerde kullanılırken karşımıza çıkacaktır. Gerekli tanımlamaları yaptıktan sonra projeyi F6 ile derliyoruz.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace OgrenciLibrary
{
    public class Ogrenci
    {
        public string Ad { get; set; }

        public string Soyad { get; set; }

        public int Yas { get; set; }
    }
}

 

Class Library projesini F6 ile build ettikten sonra dll dosyasının oluşturulduğunu kontrol edelim. Bunun için projemizin oluşturulduğu dosya yolundaki Bin\Debug klasörü altına bakalım.

Class library projesinin debug klasörü

Gördüğünüz gibi OgrenciLibrary ismindeki dll dosyamız oluşturulmuş durumda. Şimdi bizim oluşturduğumuz bu dll dosyasını başka bir projemize nasıl ekleyeceğiz ve kullanacağız inceleyelim.

Oluşturulan dll dosyasını kullanmak için yeni bir proje açıyoruz. Biz şu an için var olan solution üzerine sağ tıklayarak add ==> new project ile yeni bir console uygulaması açıyoruz.

Solution içine yeni proje ekleme

Şimdi sıra açılan yeni console projesine daha önce oluşturulan dll dosyasını referans etmeye (eklemeye) geldi. Bunun için yeni açılan projede Solution Explorer penceresindeki Referance isimli sekmede sağ tıklayarak referans ekleme penceresine geliyoruz.

 

Projeye referans ekleme

 

 

Açılan referans ekleme penceresinden oluşturduğumuz dll dosyasını veya başka bir yerden temin ettiğimiz diğer dll dosyasını seçiyoruz ve OK diyerek dll dosyasını projemize ekliyoruz.

 

Projeye class library projesini referans olarak ekleme

Bu işlemin ardından References bölümünün altında eklediğimiz OgrenciLibrary ismindeki dll dosyamız gözüküyor ve projemize dahil etmiş oluyoruz. Daha sonra eklenen dll i using ile kullanıma alıyoruz.

Referans olarak eklenen projenin namespace'lerini kullanma

Artık projemize oluşturulan dll dosyası eklenmiş durumda ve yeni projemizde dll içerinde bulunan Ogrenci classını ve buna ait Ad, Soyad ve Yas isimli property leri kullanabiliriz. Bununla beraber yeni projemize ait dosya yolundaki Bin\Debug klasörüne bakarsak OgrenciLibrary ismindeki dll dosyasının buraya eklenmiş olduğunu göreceksiniz.

Yeni projenin debug klasörü

Yeni uygulamamızda dll e ait Ogrenci sınıfının property lerine değerler vererek ekrana yazdıralım. Örnek olarak Ad için Abdullah, Soyad için ALTINTAŞ ve Yas için ise 26 değerlerini atayalım ve bu değerleri ekrana yazdıralım.

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using OgrenciLibrary;           //DLL referansını using ile kullanima aliyoruz

namespace DllKullanimi
{
    class Program
    {
        //Eklenen referansın kullanimi;

        public Ogrenci o1;

        public Program()
        {
            o1 = new Ogrenci();
            o1.Ad = "Abdullah";
            o1.Soyad = "ALTINTAŞ";
            o1.Yas = 26;
        }


        static void Main(string[] args)
        {
            Program p1 = new Program();

            Console.WriteLine(p1.o1.Ad);
            Console.WriteLine(p1.o1.Soyad);
            Console.WriteLine(p1.o1.Yas.ToString());


            Console.ReadLine();
        }
    }
}

 

Son olarak projemizi derleyip çalıştıralım ve sonucu hep beraber görelim:

 

Console application çalıştırma sonucu

Gördüğünüz gibi kendi oluşturduğumuz dll dosyasını başka bir projeye referans ettik ve bu dosyadaki Ogrenci ismindeki sınıfı ve elemanlarını kullandık. Kendi oluşturduğumuz dll dosyaları gibi başka yerlerden temin edebileceğimiz diğer dll dosyalarını da projelerimize referans olarak ekleyip kullanabiliriz.

Konuyla ilgili soru, görüş ve önerilerinizi bana bildirirseniz çok sevinirim. Yorumlarınızı bekliyorum. Bir başka yazıda görüşmek üzere...

Abdullah ALTINTAŞ

Yazar Hakkında

Abdullah ALTINTAŞ

Abdullah ALTINTAŞ

www.abdullahaltintas.com

2004 yılında İstanbul Üniversitesi Fen Fakültesi Astronomi ve Uzay Bilimleri bölümünde lisans eğitimini almaya başlayan yazar, 2008 yılında bölüm 3.lüğü ile lisans eğitimini tamamladı. Üniversite yıllarında bilişim sektörüne ilgi duymaya başlayan yazar askerlik görevini yerine getirdikten sonra bilişim sektörüne atılmaya karar verdi. Bahçeşehir Üniversitesi Wissen Akademi’de Microsoft Yazılım ve Veritabanı Uzmanlığı eğitimi almaya başlayan yazar bu programı da 1.lik ile bitirdi. Belirli zamanlarda C# Temel Kavramlar, Sql Veritabanı Programlama ve Ado.Net ile ilgili ders çalışmaları olan yazar hala Oracle, SQL Server ve İş Zekası üzerine çalışmalarına devam etmektedir. Sektörün önde gelen firmalarından birinde Microsoft SQL Server, Oracle Database ve Microsoft Business Intelligence alanlarında eğitim ve danışmanlık hizmetleri vermeye devam etmektedir…

Sosyal Medya

ORANLAR

  • 27278izleme

Arkadaşlarınla Paylaş

  • Tweet

0 Yorum

Yorum Yaz / Soru Sor

Lütfen yorum yazmak veya soru sormak için üye girişi yapınız.

Son Yorumlar

  • Böyle bir sayfalama ağ trafiğini hafifleti...
  • Böyle bir sayfalama ağ trafiğini hafifleti...
  • Merhaba, ellerinize sağlık çok yardımcı ol...
  • Merhaba Bu uygulama örneğinden ASP.net ...
  • Hocam Link başka sayfaya yönlendiriyor.

En Güncel Sorular

  • Bilgilendirme maili (C#.Net)
  • Power Pivot (Sharepoint 2010)
  • BigInteger, BigDecimal (Asp.Net ve Asp.Net MVC)
  • visual C# ile asp nette veritabanı islemleri (Asp.Net ve Asp.Net MVC)
  • Share Point ile Dosya Arşiv Yönetim Sistemi yapılabilir mi ? (Sharepoint 2010)

En Son Cevap Verilen Sorular

  • Bilgilendirme maili
  • BigInteger, BigDecimal
  • visual C# ile asp nette veritabanı islemleri
  • Share Point ile Dosya Arşiv Yönetim Sistemi yapılabilir mi ?
  • txt dosyasına veri yazma

Twitter

Takip et: @yazilim_dilleri

En Çok Okunanlar

Elif BAYRAKDAR

C# ile SQL Server Bağlantısı, Insert, Update ve Delete Sorguları

23.05.2013

  • 124235
  • 0
Hakan Keskin

C# ile Windows Service Projesi Oluşturma, Debug Etme ve Setup Hazırlama

17.12.2013

  • 71519
  • 0
batuhan avlayan

Php - Mail Gönderme (İletişim Formu)

02.09.2013

  • 52079
  • 0

Sponsorlar

KODLAB
Pluralsight
Exchange server is
Office 365
YAZILIM DİLLERİ
Yukarı Çık
  • Hakkımızda
  • Facebook
  • Twitter
  • RSS

© Yazılım Dillerinin Buluşma Noktası | Kaynak belirtildiği sürece makaleler kopyalanabilir.
YazilimDilleri.Net sitesinde yer alan kullanıcıların oluşturduğu tüm içeriklerin yayınlanması ile ilgili yasal yükümlülükler içeriği oluşturan kullanıcıya aittir, YazilimDilleri.Net hiçbir şekilde sorumlu değildir.

Kapat

Giriş Yap

Kullanıcı Adı

Şifre

Şifremi Unuttum

KULLANICI GİRİŞİ