ASP.NET5 ile DNVM, DNX ve DNU

16. Ağustos 2015

ASP.NET 5 ile yeni gelen özellikleri incelemek için Visual Studio 2015'te bir proje açtığımızda ilk karşılaştığımız yenilik farkında olalım veya olmayalım DNX, DNVM ve DNU oluyor. VS.NET 2015 bu araçları çalışma anında kullandığı için bize günlük hayatımızda bu araçları manuel olarak kullanma şansımız belki hiç olmayacak. Projemizi VS.NET ile açtığımız anda VS.NET ilk olarak yeni global.json ve project.json dosyalarını okuyup projemizin derleneceği ve çalışacağı ortamı bu ayarlara göre hazırlıyor. Biraz daha detaya inip bu kavramların ne olduğunu incelemeye çalışalım. Öncelikle  bu araçların aslında ASP.NET vNEXT ile açıklanan klr, kpm ve kvm araçlarının ASP.NET5 versiyonu için hazırlanan ve yeniden adlandırılan versiyonları. Aşağıdaki tabloda yapılan değişiklikler listeleniyor.

 

.NET Çalışma Ortamı (.NET Execution Environment DNX)

.NET uygulamalarını Windows, Linux ve Mac ortamlarında derleyebilmek ve çalıştırabilmek için gerekli bileşenleri ve araçları içeren SDK'lara DNX yani .NET Çalışma Ortamı diyoruz. ASP.NET 5 Projemiz içerisinde bulunan global.json dosyası içerisindeki version parametresi ile projemizin VS tarafından hangi SDK ile açılacağını ve build edileceğini belirliyoruz. Bu ayarı değiştirdiğimiz takdirde VS'yu restart etmemiz gerekiyor.

 

.NET Versiyon Yöneticisi (.NET Version Manager DNVM)

DNX kısaltması ile anılan .NET Çalışma Ortamlarının (.NET Execution Environment) yüklenmesi, güncellenmesi ve çalışması istenen ortamın belirlenmesini sağlayan komut satırı aracıdır. Komut satırına dnvm yazılarak araç çalıştırılabilir. Aşağıdaki gibi komut opsiyonlarının listelendiği bir ekran bizi karşılayacaktır. 

 

list komutu ile sistemde yüklü DNX'leri listeleyebilir, hangisinin aktif DNX olduğunu görebiliriz. upgrade komutu ile stabil kaynaktan son dnx versiyonu indirilebilir. 

List komutu çıktısında Versiyon olarak DNX versiyonunu, runtime başlığı altında framework versiyonu listeleniyor. .NET Framework, .NET Core ve Mono. 

Ya da özellikle belli versiyondaki bir DNX'i yüklemek istiyorsak install komutu ile vereceğimiz versiyonu stabil kaynaktan indirip kurabiliriz.

.NET Geliştirme Aracı (.NET Development Utility DNU)

.NET Geliştirme Aracı, yani DNU ise ASP.NET 5 projemizi derlerken bağımlı olduğumuz kütüphane paketlerini yöneten ve projemizi yayınlayan yardımcı uygulama. Projemiz içerisinde bağımlı olduğumuz kütüphaneleri topladığımız project.json dosyasına göre proje bağımlılıklarını yöneten DNU'nun çıktısını yine output penceresinden aşağıdaki gibi izleyebiliriz.

 

Sonuç olarak ASP.NET 5 ile projemizi derleyip kurulum yapacağımız ortama uygun paketlenmesini kolaylaştıran DNX, DNVM ve DNU'u incelemeye çalıştık. Bulut mimarinin ve Microsoft Azure'un çok önplanda olduğu günümüzde bu gelişmeler elbette kaçınılmazdı. Siz de benim gibi dnx version failed to install gibi bir hata ile karşılaştıysanız linki takip ederek çözüm uygulayabilirsiniz.

, , ,