ASP.NET Compile Seçenekleri

0 dakikada yazıldı

12617 defa okundu

Düzenle

Web projelerinin dağıtımında kaynak kodların korunması veya en azından
alenen ortaya konmaması genelde ticari projelerde istenen bir durumdur.
Kendi adıma konuşmam gerekirse ben hem daha kolay kullanım hem de
müşteriye uzun vadede kaynak kodu da değiştirerek daha esnek bir yapı ve
kolaylık sağlanması adına yazılımların kaynak kodları ile verilmesinden
yanayım. Fakat tabi ki durum projenin niteliklerine göre değişecektir.

Özellikle Visual Studio 2003 sonrasında web sitelerinin kod dosyalarının
DLL'lere çevrilmesine alışmıştık. Hatta bu durum hoşumuza bile gitmişti.
Sonrasında VisualStudio 2005 ile bu durum değişti ve varsayılan
ayarlarda VS artık DLL oluşturmamaya başladı. Tabi
aspnet_compiler.exe
ve
aspnet_merge.exe
komut satırı araçları kullanılarak bu işlemler Visual Studio 2005 ile de
yapılabiliyor fakat komut satırı için artık pek kullanışlı bir araç
diyemeyiz.

Bahsettiğim bu araçları arkaplanda otomatik olarak kullanabilecek bir
Windows programı gönüllü bir programcı olan ve benim de blogunu takip
ettiğim Rick Strahl tarafından hazırlanmış durumda. Aslında bu yeni
bir haber değil, yıllardır ben kullanıyordum :) ama yazısı yazmak bugüne
nasipmiş. Programı hemen aşağıdaki adresten indirebilirsiniz.

http://www.west-wind.com/files/tools/WestWindAspNetCompilerUI.zip (99
KB)

ASP.NET Compiler Yardımcısı
ASP.NET Compiler Yardımcısı

Programın tüm özelliklerini tek tek anlatmaktansa yukarıdaki fotoğrafta
hızlıca açıklamayı tercih ettim. Özellikle üzerinden durmamız gereken
noktalardan biri "ASPX files are updateable" seçeneği. Eğer bu
seçeneği işaretlerseniz projenizin ASPX dosyalarındaki HTML kodları da
DLL dosyalarının içerisine yerleştirilecektir. Böylece ASPX dosyaları
içerisinde sadece "This is a marker file generated by the
precompilation tool, and should not be deleted!
" yazısı yer alacak.
ASPX dosyalarının içeriklerini DLL içerisine koysak da fiziksel olarak
dosyaların bu uyarı mesajı ile disk üzerinde yer alması gerekiyor, aksi
halde IIS 404 File Not Found hatası verecektir.

Bir diğer önemli ayar da "Fixed Names for assemblies" seçeneği. Eğer bu
seçeneği işaretlerseniz her bir sınıf, ASPX dosyası için ayrı DLL
dosyaları oluşturulacaktır böylece rahatlıkla bir dosyada değişiklik
yaptığınızda o dosyaya ait DLL'i sunucuya göndererek projenizi
yenileyebilirsiniz.

Eğer kolay dağıtım sizin için çok önemliyse tüm projenizin HTML kodları
ile beraber sadece bir DLL olarak hazırlanmasını da sağlayabilirsiniz.
Bunun için "Single Assembly" seçeneğini seçerek DLL dosyası için bir
isim vermeniz yeterli. Ayrıca bu işlemi projenizdeki her bir klasor için
ayrı ayrı düzenlenecek şekilde de ayarlayabilirsiniz. "Merging"
bölümündeki özelliklerden faydalanabilmeniz için sisteminizde Visual
Studio 2005 için Visual Studio 2005 Web Deployment
Projects

yüklemesinin yapılmış olması gerekiyor.

Diğer Framework sürümleri?

Yukarıdaki aracı .NET Framework 2.0 için, yani ASP.NET 2.0 için
rahatlıkla kullanabilirsiniz. Program içerisinde Framework seçimi yer
alsa da maalesef 3.0 veya 3.5 ile çalışmıyor. Bu durumda Merging
haricindeki işlemler için doğrudan Visual Studio 2005 veya 2008'i de
kullanabiliriz. Build / Publish menüsünde söz konusu ayarlara
ulaşabilirsiniz.

Hepinize kolay gelsin.