.Net uygulamalarında dll arama dizinleri

Friday, November 18, 2011 8:09 PM

Hepimizin bildiği üzere .Net çatısı altında çalışan bütün uygulamalar dll mantığı ile çalışıyor ve biz bu dll ler üzerinden işlemler gerçekleştiriyoruz. Kendi yazdığımız uygulamalardaki referans edilen dll'ler ise Asp.Net ve Asp.Net MVC uygulamaları için "BIN" klasörü altında , masaüstü uygulamalarında da kendi bulunduğu klasörde yada  sistemin PATH değişkeninde bulunan klasörlerde aranır.Eğer bu dll gerel web gerek masaüstü uygulamalarında belirttiğim dizinlerin birisinde değilse programı çalıştırdığınızda bir hata mesajı alırsınız. Bu tip durumlarda (örneğin dlll 'erinizi ayrı bir klasörde toplamak istemeniz durumunda) bir configürasyon dosyası oluştururarak bu durumun üstesinden geleblirsiniz.

 

 WinForm uygulamalar için Visual Studioda projenize sağ tıklayarak Add --> New Item seçeneği ile bir application configuration File eklemelisiniz.Önemli bir noktayı hatırlatmalıyım. Eklemiş olduğunuz Configuration File dosyası uygulamaadı.exe.config şeklinde olmalıdır. Şimdi gelelim configuration File dosyasının içeriğine ;

 

<?xml version="1.0" encoding="utf-8" ?>

<configuration>

<runtime>

<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">

<probing privatePath="extension;data"/>

</assemblyBinding>

</runtime>

</configuration>

 

Yukarıdaki xml configurasyon dosyasını biraz incelemek gerekirse bilmediğimiz sadece bir element var probing elementi.

Orda belirtilen dll dosyalarını extension ve data klasörleri içinde aramak. Eğer eğer bir setup oluşturacaksanız configrasyon dosyasının exe niz ile aynı klasörde olmasına dikkat ediniz.

 

Web uygulamlarında ise aşağı yukarı aynı işlem gerçekleştiriliyor.Açtığımız  web projlerinde zaten bir tane configurasyon dosyası standart olarak gelmektedir. Hepimizin yakından bildiği Web.Config dosyası. 

 

<configuration>

<runtime>

<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">

<probing  privatePath="App_Data/Dependencies"/>

</assemblyBinding>

</runtime>

</configuration>

 

Aslında web.config dosyasına ekliyeceğimiz tek bir satır."<probing  privatePath="App_Data/Dependencies"/>"

Yukardada aynı şekilde referans edilen dll lerimizi "App_Data/Dependencies" klasörü altında arayacak.

 

 

Etiketler Etiket Yok

Married Cycle

Friday, May 27, 2011 3:29 PM

Basit olarak verilen algoritmayı biraz daha olgunlaştırdım sanırım. Böyle daha mantıklı :)))
protected void MarriedCycle()
{
            if (!this.Evlimi) // İyimser davrandım. Kıymetinizi bilin :))
                return;
            while (Equals(0, 1))
            {
                Erkek erkek = System.World.ErkekBul(); // Algoritma için Bknz:   //http://zeynepbayramoglu.blogspot.com/2011/05/kadn-algoritmas.html
                while (Equals(0, 1)) //Sonsuz döngü
                {
                    if (erkek.ParasiVarMi)
                    {
                        //Kapitalizm is starting......
                        erkek.AktiviteEkle("Ye", this);
                        erkek.AktiviteEkle("İç", this);
                        erkek.AktiviteEkle("Gez", this);
                        erkek.AktiviteEkle("Toz", this);
                        //.
                        //.
                        //.
                        //.
                        //Hayal gücünüze kalmış.
                        if (StabilEvlilikIcinUygunMu(erkek)) //  Algoritma için Bknz: : http://en.wikipedia.org/wiki/Stable_marriage_problem , http://www.eksisozluk.com/show.asp?t=stable%20marriage%20problem
                        {
                            ErkekIcinGameOver(erkek, this);
                            this.Evlimi = true;
                            break;
                        }
                    }
                    this.KeyfiYettiMi = false; //Veya True :)Feedback Alınacak. Kadındır duygular karışık. :)) Durum aktarımı yapılır
                    if (this.KeyfiYettiMi)
                        break;
                }
                if (this.Evlimi)
                    break;
            }
        }

ASP.NET Development Server’ın Çalışma Portunu Sabitlemek

Tuesday, March 16, 2010 12:11 PM
Kategoriler Asp.Net

Uğur UMUTLUOĞLU'nun sitesinde gerçektende kullanışlı bir yazı gördüm. Çokta işime yaradı. Belki gün gelir sizede lazım olur.

Link

 

Etiketler Port Port Sabitleme

"İstenen işlem için yükseltme gerekiyor" hatası

Saturday, January 02, 2010 4:01 AM
Kategoriler .Net Asp.Net

Windows 7 kullananlar cmd aspnet_regiis.exe komutunu yürütmeye çalıştığında bu hatayı alacaklardır. En azından ben aldım :)

Bu hata bilindiği üzere windows 7 nin güvenlik mekanizmasından kaynaklanıyor.

aynı komutu komut penceresini <%windir%>\System32\cmd.exe den yönetici olarak çalıştırarak verirlerse hata almadan komutu yürüteceklerdir.

.Net İle Yaz, Java’ya Çevir, Linux Ortamında Çalıştır

Tuesday, July 29, 2008 12:05 PM

Yukarıdaki başlık sanıyorum hepinize çok abartılı gelmiştir. Fakat MainSoft adlı bir fima tarafından çıkarılan Grasshoper adlı ürün bunu mümkün hale getiriyior. Yaptığı iş şu şekilde özetlenebilir; .Net ile uygulamanızı geliştiriyorsunuz, build işleminden sonra uygulamanız Java ortamına yani J2EE üzerinde çalışabilir class dosyaları haline getiriliyor ve bunu daha sonra Java Virtual machine yüklü heryerde çalıştırabiliyorsunuz, ister Linux ortamında isterseniz Unix ortamında, bu size kalmış

Devamı...

Etiketler Etiket Yok