none
.ddl dosyasında #if debug sorunu RRS feed

  • Soru

  • Merhaba,

    Tarafımızdan geliştirilen bir Asp.Net MVC uygulamasındaki altyapımızda bulunan bir .dll dosyası ile ilgili şöyle bir sorunumuz var.

    Geliştirmiş olduğumuz framework projemizde belli ayarları veritabanındaki tablodan alıp tutan bir config .dll dosyamız var. İlgili config classı içinde aşağıdaki gibi bir property var:

    ErisimBelirteci DegiskenTipi DegiskenAdi
    {
    	get
    	{
    	#if DEBUG
    		return GetValue("DenemeDevelopment");
    	#else
    		return GetValue("Deneme");
    	#endif
    	}
    }

    Bu property'e veritabanındaki bir tablodan belli kayıtlar çekiliyor ki data geliyor. Ama asıl problem şu:

    Bu dll dosyasını derledikten sonra farklı bir projede kullanmak istiyoruz. İlgili projeye ekledikten sonra bu dll bize sürekli olarak debug modda çalışıyormuş gibi davranıyor. Sürekli olarak return GetValue("DenemeDevelopment"); kısmı dönüyor.

    Dll'i kullandığımız projeyi Release modda çalıştırdığımızda dll içindeki property'den yine debug kısmı dönüyor. Benzer şekilde dll dışındaki bir property oluşturduk o düzgün çalışıyor. Debug modda debug kısmı, Release modda release kısmı. Ama aynı yerde dll'den sürekli olarak hangi modda çalıştırırsak çalıştıralım debug dönüyor.

    Bunun nedeni ne olabilir? Nasıl çözebiliriz? 


    18 Eylül 2014 Perşembe 20:50

Yanıtlar

  • Dll'i release'de derleyip referans ederseniz hep ikinci return çalışır, debugda derlerseniz hep birinci çalışır. İkisi birlikte olmaz. İkisinide istiyorsanız dll i referans etmeyin. İki projeyi aynı solution'a alıp projeyi referans edin.

    www.mvcblog.org
    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com

    • Yanıt Olarak İşaretleyen mstfcck 19 Eylül 2014 Cuma 07:57
    18 Eylül 2014 Perşembe 22:20
    Moderatör