Microsoft Asp.Net’in en güzel özelliklerinden biri de yayınlanmadan önce derlenebiliyor olmasıdır. Bu sayede sitenizin kaynak kodları hem ftp’ye erişimi olan diğer kişilerce görüntülenemez/çalınamaz hem de web siteniz MSIL’ye derlendiğinden daha hızlı çalışır.
Yazdığımız bu program aslında Visual Studio’da bulunan Build » Publish Web Site ile aynı görevi görüyor. Fakat taşınabilir ve çalışabilmesi için bilgisayarınızda sadece .Net Framework’ün yüklü olması yeterli.

Asp.Net Pre-compiler / Asp.Net Ön-derleyici
Programı kullanmak için öncelikle kodlamada kullandığınız Framework versiyonunu seçiyorsunuz. Sonra örneğin wwwroot klasörünüzde bulunan web sitenizin kaynak kodlarını source (kaynak) olarak gösteriyorsunuz. Destination (hedef) olarak ise herhangi bir boş klasör seçmeniz gerekir veya oluşturulabilecek bir klasör ismi de yazabiliyorsunuz. Open destination folder after compile (derleme sonunda hedef klasörü aç)’ı derleme esnasında da işaretleyebilirsiniz.
Compile (derle) butonuna bastıktan sonra kod bolluğunuza bağlı olarak 5-10 saniye içinde derleme tamamlanacaktır. Hedef klasörümüzde oluşan dosyalar bizim web sitemizin kök dizinine atmamız gereken dosyalardır. Bunların içindeki en önemlisi ise bin klasörü ve web.config dosyası. Bunlar sitenizin asp.net özel dosyalarının kodlarını içerir. O nedenle web sitenizin aspx kodlarında yapacağınız bir değişiklikten sonra derlemeden sonra oluşan bin klasörünü güncellemeniz yeterli olacaktır (diğer dosyaların güncellenmediğini varsayarsak).
Herhangi bir sorunuz olursa çekinmeden sorabilirsiniz.
Programı kaynak kodlarıyla birlikte şuradan indirebilirsiniz (VS2010 projesidir, exe için bin/Debug klasörüne bakın).





Merhaba Hasan bey. Compile edilen bir web sayfasını nasıl geri alabiliriz, böyle bir imkan var mı? Bir sitemiz var site compile edilmiş vede biz değişiklik yapamyıyoruz doğal olarak. Bu konu hakkında bilgi verirseniz sevinirim.
Saygılarımla
Biraz uzun var fakat imkansız değil. Eğer sorun eski kodları çalışabilir hale getirmek ise yardımcı olabilirim. Eğer kendiniz yapmak isterseniz .Net Reflector adındaki aracı kullanabilirsiniz.
Sayın Hasan Gürsoy
ASP.NET.2.0 Web Developer Express Edition ile site yaptım. Site IIS altında çalışır durumda. Express versiyonu compile işlemini yapmadığı için Framework\v2.050727 altındaki “aspnet_compiler.exe -i” kullanarak siteyi compile edip bin dosyası elde ettim. Hostingden önce compiled edilmiş siteyi çalıştırmak istiyorum fakat, nasıl ve nerede çalıştırırım, bilmiyorum. Deneme yanılma yöntemi ile ilk sitemde buraya kadar geldim. lütfen bilgi verebilirmisiniz? Teşekkür ederim.
Merhabalar,
Pre-compile işleminden çıkan dosyaları doğrudan site kök dizinine atıyoruz. Bu dosyaları IIS altında da bu şekilde kullanabilirsiniz. Orjinal dosyalarınızın yerini değiştirip veya IIS’te yeni bir site tanımlayıp kodları bunun içinde çalıştırabilirsiniz. Yani kısaca kaynak kodu dosyalarınızı nasıl kullanıyorsanız o şekilde.
Sayın Hasan Gürsoy,
Teşekkür ederim. Çok yardımcı oldunuz. Compile işleminden sonra Excel, Access DataBase, Web.Config, Web.SiteMap ve Image gibi dosyalar aynen olduğu gibi geri geldi. Yalnız Code ların olduğu Class dosyaları ile aspx ve vb.aspx dosyaları kapalı olarak geldi. Birde Bin Klasörü geldi. Şimdi bu dosyaların hepsini sitenin kök dizinine atarsam, değişmeden gelen dosyalar çift olacak, problem olacak diye compile edilmişlerin hepsini sizin dediğiniz gibi IIS altına aldım.Şimdi IIS içinde 2 ayrı klasörüm var. Her ikiside Explorer da http://localhost/compile edilmiş ve edilmemiş site ismi/default.aspx komutu ile düzgün çalışıyor. Şimdi 2 sorun var:
1 – Programın Ftp sini kullanarak compile edilmiş klasörü Host Servere nasıl yolluyacağım?
2 – Acces DataBasi nasıl koruyacağım? Çünkü password koyunca yanlış password hatası alıyorum. Lütfen bilgi verebilirmisiniz? Teşekkür ederim.
Merhabalar,
1 – Compile olan dosyalarınızı FileZilla ftp programı ile sunucuya yükleyebilirsiniz.
2 – Veritabanınızı şifrelemeye gerek yok çünkü App_Data klasörü içinde bulunan herhangi bir dosyaya, dosya ismi bilinse bile http ile erişilemez.