Bu site emekli olmuştur. Arşiv amaçlı olarak
BT AKADEMİ
sponsorluğunda yayın hayatına devam etmektedir.
Ana Sayfa
.net TV
Makaleler
Kaynak Kod
Haberler
Serbest Köşe
Canlı Köşe
Forum
C#nedir?
Ekibimiz
RSS
ASP.NET
C# / VC#/.NET
Mono ve .NET
Yazılım Müh.
YAZAR HAKKINDA
Caner Şahan
http://www.csharpnedir.com/
İletişme geçmek için
tıklayın
.
24
Makalesi yayınlanmakta.
Yazar hakkında detaylı bilgi için
tıklayın
.
Yayınlanan diğer makaleleri için
tıklayın
.
İlgili etiketler:
.resources
anahtarlarin
assembly
assembly.cs
bilgilerini
degeri
dosyalar
dosyasini
dosyayi
ediyor.
gerekiyor.
mono’da
programa
resource
strong
Mono ve .NET
Caner Şahan
YAZI HAKKINDA
Türü
:
Makale
Serbest Köşede C#nedir?com üyelerinin hazırladıkları yazılar yayınlanır.
Bu yazılar editör incelemesine girmeden yayınlanır.
Seviyesi
:
Orta
Kategori
:
Mono ve .NET
Yayınlanma Tarihi
:
10.4.2006
Okunma Sayısı
:
29781
Yorum Sayısı
:
0
yorum yaz
SİTE İÇİ ARAMA
Üye
GİRİŞİ
Üye girişi için
tıklayın
.
Kullanıcı Adı
Şifre
Beni her zaman hatırla
Bir hafta boyunca kullanıcı bilgilerinizi kullanıcı çıkışı yapana kadar hatırlar. (Paylaşılan bilgisayarlarda önerilmez.)
Şifremi / Kullanıcı Adımı unuttum.
C#nedir? hesabınız yok mu?
Üye olabilmek için
tıklayın
.
Serbest KÖŞE
(?)
Serbest Köşede C#nedir?com üyelerinin hazırladıkları yazılar yayınlanır.
Bu yazılar editör incelemesine girmeden yayınlanır.
Silindi
emre TAŞ
yazının devamı >
silindi
emre TAŞ
yazının devamı >
silindi
emre TAŞ
yazının devamı >
silindi
emre TAŞ
yazının devamı >
silindi
emre TAŞ
yazının devamı >
Bende Yazmak İstiyorum
Blogroll
Turhal Temizer
Conda install environment.yml Package
21.11.2024
Turhal Temizer
Mac OS/X Removing CUDA
21.11.2024
Burak Selim Şenyurt
Rust ile ECS Yaklaşımını Anlamak
21.11.2024
Burak Selim Şenyurt
Birlikte Rust Öğrenelim Serisi
21.11.2024
Diğer Herşey
»
Makaleler RSS
»
Video Gönder
»
Makale Gönder
»
Serbest Köşeye Yazı Gönder
»
Yazar Başvurusu
»
C#nedir? Ekibinde Olmalıyım!
Sponsorlar
Ana Sayfa
/
Makaleler
/
Caner Şahan
/
Mono ve .NET
/
Mono ile Assembly Dosyalarını Kullanma
Mono ile Assembly Dosyalarını Kullanma
Favorilerime Ekle
Gönderiliyor lütfen bekleyin...
arkadaşıma gönder
Arkadaşınızın email adresi:
*
Mesajınız:
Mono hünerlerini göstermeye devam ediyor. Bugun mono’da assembly’ler,resources dosyalar ve .snk anahtarların oluşturulmasını inceleyeceğiz. Öncellikle assemblyle neyi kastettiğimi anlatayım. Bu assembly makina dili olan ve mikroişlemci programlamayı sağlayan assembly değil. Assembly.cs altında assembly özelliklerine ait fonksiyonları kullanan bir .cs dosyası. Kullanımı ise programın assembly’sine System.Reflection ile yansıma yaparak program hakkında çeşitli bilgiler vermeyi amaçlamaktadır. Programımızı derlediğimiz zaman assembly.cs’de birlikte derlenir. Bu derleme aşamasında GAC(Global Assembly Cache)’e assembly bilgilerini yükler. Bunun için iki adım izler. Birinci adım olarak SHA1 algoritması verilen bir algoritmayla bir hash değeri oluşturur. Bu hash değer assembly manifest içinde saklanır. Çalışma anında ise bu hash değeri yeniden hesaplanır ve daha önceki hash değeri ile karşılaştırılır. Eğer iki değer aynı ise assembly çalıştırılan programa yüklenir,değilse assembly yüklenmez.
Assembly manifestte üretilen hash değerinin karşılaştırmadan önce encrypted edilmesi gerekir. Bunun için
strong name
yaratarak assemblye bu
strong name
’i dahil ederek sağlarız.
strong name
’lerin uzantıları .snk’dır(
S
trong
N
ame
K
ey).
strong name
’ler private key/public key olarak dizayn edilebilir.
strong name
oluşturmak için sn.exe’yi çalıştırmamız gerekir.
Bu işlemi gerçekleştirdikten sonra anahtar.snk isimli bir strong name’e sahip oluyoruz. anahtar.snk’yı assembly.cs içinde belirtmemiz gerekiyor.
[assembly: AssemblyKeyFile("anahtar.snk")]
Artık assemblyimiz bu anahtarı kullanacağımızı biliyor.
//Assembly.cs
using
System.Reflection
;
using
System.Runtime.CompilerServices;
using System;
//Assembly ile ilgili genel bilgileri burda veriyoruz.
[assembly: AssemblyTitle("olusturdugumuz assembly")]
[assembly: AssemblyDescription("Assembly ile daha profosyonel yazilimlar.")]
[assembly: AssemblyConfiguration("Release")]
[assembly: AssemblyCompany("Csharpnedir.com")]
[assembly: AssemblyProduct("Assembly ")]
[assembly: AssemblyCopyright("Caner ŞAHAN")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("tr-TR")]
//Versiyon bilgilerini bu özellikle belirtiyoruz.
// * karakterini kullanarak Revision ve Build Numbers’ları default olarak atanması sağlanıyor.
[assembly: AssemblyVersion("1.0.*")]
//anahtar.snk’yı burda belirtiyoruz.aynı dizindeyse sadece ismi yeterli.değilse yolunu yazıyoruz.
[assembly: AssemblyDelaySign(false)]
[assembly: AssemblyKeyFile("anahtar.snk")]
[assembly: AssemblyKeyName("anahtar")]
Assembly.cs’i derlerken,şuna dikkat etmemiz gerekiyor. Programımızın başlangıç adresi olmadığı için bu programı kütüphane(.dll)olarak derlememiz gerekiyor. Fakat bundan önce assembly için bir .resources file oluşturmalıyız. Bunun için mononun içinde bulunan
monoresgen
’i kullanıyoruz. monoresgen’in kullanımı; bir .txt dosyasını yada bir .resx dosyayı .resources file’a dönüştürüyor.Biz resource.txt adlı bir dosyayı .resources dosyaya dönüştürelim
resource.txt ;Bu bir Assembly.cs’in .resources dosyasıdır
resources1=deneme1 ;bir resource paketi
resources2=deneme2 ;ikinci bir resource paketi
Assembly.resources dosyasını oluşturduğumuza göre,Assembly.cs’i library olarak derleyebiliriz.
Artık Assemblymiz derlenen programa yansıtıldı. Peki programda yarattığı sonuçlar neler onlara bir göz atarsak.
İyi çalışmalar...
Makale:
Mono ile Assembly Dosyalarını Kullanma Mono - Linux'ta .NET Caner Şahan
Yazılan Yorumlar
Yorum Yaz
Bu konu hakkında yayınlanan yorum bulunmamaktadır.
"Yorum Yaz" tabını kullanarak sizde yorumlarınızı yazabilirsiniz.
Yorum yazabilmek için üye girişi yapmalısınız. Üye girişi için
tıklayın
.
Üye değilseniz
Üyel Ol
linkine tıklayarak üyeliğinizi hemen başlatabilirisniz.
Bu Konuda Son 10
Eklenen Son 10
Bu Konuda Geçmiş 10
Bu Konuda Yazılmış Yazılmış 10 Makale Yükleniyor
Son Eklenen 10 Makale Yükleniyor
Bu Konuda Yazılmış Geçmiş Makaleler Yükleniyor
Dizayn ve Kodlama
bt
akademi
. Tüm Hakları Saklıdır © Copyright 2002-2009 c#nedir?com
Makaleler
Serbest Köşe
Makale Gönder
.Net TV
Video Gönder
Canlı Köşe
Kaynak Kod
Forum
Haberler
Röportajlar
Anketler
C# Nedir?
İletişim
Site Haritası
RSS
Favorilere Ekle
Üyelik
Hesap Aktivasyon
Ekibimiz
Ekibe Katıl