Ana içeriğe atla

Asp.Net MVC Framework 1.0 ‘ten Asp.Net MVC Framework 2.0 ‘a Uygulamaları Yükseltmek (Upgrading)

Asp.Net MVC Framework cephesinde Microsoft geliştirmelerine son sürat devam ediyor. Bunun sonuçları olarakta çok yakın bir zaman da MVC Framework 2.0 sürümü yayınlandı. Bu sürüm ile gelen yenilikleri zaman içerisinde inceliyor olacağız. Ancak şimdi aklımızı kurcalayan ve daha önemli bir konu olan MVC Framework 1.0 ile geliştirilmiş olan uygulamaların akıbeti ne olacak konusunu inceliyor olacağız.

MVC Framework 1.0 ‘ın çıkışı ve kullanım kolaylıkları sebebi ile bir çok web uygulama geliştiricisi bu tasarı ile uygulama nasıl geliştirileceğini yoğun bir şekilde inceledi. Geçen zaman içerisinde de bir kısmı uygulama geliştirerek çok başarılı ürünler çıkartmış oldular. Ülkemizde de fazlaca örneği bulunmaktadır. En büyük faydalarından bir kaçı ise, ID ‘ler ile gereksiz sayfa fazlalığının önüne geçilmesi, entity katmanların yoğun bir şekilde kullanılıyor olması, katmansal mimarinin web uygulamalarında rahatlıkla kullanılabiliyor olması, URL yönlendirme işlemlerinin rahatça yapılabilmesi gibi aklımıza bir çırpıda gelenleri bunlardır.

Evet zaman içerisinde bir çok uygulamanın geliştirildiğinden bahsettik. Eğer ki ortada geliştirilen bir ürün varsa bu ürünün yeni çıkan sürümlerine de uyarlanabiliyor olması gerekmektedir. Bu temek kural sebebi ile Asp.Net MVC Framework 1.0 ile geliştirilen web uygulamalarının Asp.Net MVC Framework 2.0 sürümüne yükseltilmesi esnasında yapılması gereken adımlara değinerek bu ihtiyacımızı nasıl gerçekleştirebileceğimizi incelemeye çalışıyor olacağız.

MVC Framework 1.0 sürümünden MVC Framework 2.0 sürümüne yükseltmek için kullanabileceğimiz iki yöntem bulunmaktadır. Bunlardan birincisi bir sihirbaz yardımı ile bir diğeri ise de direk uygulamaya elle müdahale ederektir.

1.) Sihirbaz Yardımı ile Yükseltmek

Sihirbaz yardımı ile MVC Framework 1.0 ile hazırlamış olduğunuz web sayfalarını MVC Framework 2 sürümüne yükseltmek için MvcAppConverter-MVC2RTM.zip (255 KB)  dosyasını bilgisayara indirdikten sonra uygulama dosyasını yani *.sln dosyasını gösterdikten sonra kendisi otomatik olarak dönüştürme işlemini gerçekleştiriyor olacaktır.

 

Peki bu sihirbaz dönüştürme işlemini güzelce yaptı. Ama hangi dosyaların üzerinde değişiklik yapıldığını ve nasıl kullanabileceğizi öğrenmek ihtiyacı hissedebiliriz . Bu bilgiler temel olarak aşağıda yer almaktadır.

  • Visual Studio 2008 ile yapılan uygulamalar üzerinde dönüştürme yapılabilmektedir.
  • Dönüştürülen bütün uygulamanın yedeği alınır
  • C# ve VB ile geliştirilmiş olan uygulamalarda System.Web.Mvc.dll üzerinde güncelleme yapılmaktadır.
    •     Referansları Asp.NET MVC 2 sürümüne göre güncellenir.
    •    System.ComponentDataMode.DataAnnotations 3.5 eklenmektedir.
    • Uygulama üzerinde de değişiklikler yapılmaktadır
    •     Uygulama tipi Asp.Net MVC 2 nin proje şablonu ile uyumlu olacak şekilde değişikliğe uğrar.
    •     web.config üzerinde yer alan referans bilgileri güncellenir.
    •     Yönlendirme yapısı Asp.NET MVC 1.0 ile olan uyumluluğundan Asp.NET MVC 2.0 için uyumluluğa geçmektedir.
    •    /Views/web.config içerisinde yer alan referans bilgileri güncellenmektedir.
    •     JavaScript dosyalarına JQuery bilgileri eklenir ya da güncellenir.

      Sihirbaz ile yapılan işlemler yukarıdaki adımları izleyecek şekilde olacaktır.

      Yukarıdaki sihirbazı henüz Visual Studio 2010 ve .Net Framework 4.0 üzerinde kullanabilmeniz mümkün değildir. Ancak geliştiricileri bu sürümler içinde dönüştürülme işleminin sağlanması için gerekli çalışmaların yapıldığını belirtilmektedir.

    Ancak sizler ben sihirbaz ile işlemlerimi yapmayı sevmiyorum ya da bu değişiklikleri kendim değiştirmek istiyorum diyorsanız işte bu durumda el ile yükseltme adımlarını takip etmeniz gerekmektedir.

2.) Elle Yükseltmek

Biraz önce başarılı bir yazılımcı tarafında hazırlanmış olan yükseltme sihirbazını kullarak uygulamalarımızı nasıl yeni sürüme yükseltebileceğimizi inceledik. Şimdi ise adım adım biz yapmak istersek bu işlemleri nasıl yapabileceğimize değiniyor olacağız.

Öncelikle MVC Framework 2 sürümünü kullanabilmek için Visual Studio 2008 ve .Net Framework 3.5 'in SP1 sürümlerinin bilgisayarınızda kurulu olması gerekmektedir.

Not: Windows 7 kullanıcıları sadece Visual Studio 2008 ‘in SP1 ‘inin kurmaları yeterli olacaktır. Bilindiği kadarıyla Windows 7 .Net Framework 3.5 SP1 kurulu olarak gelmektedir. Ancak bu özellikleri kullanabilmek için windows özelliklerini aç/kapa ekranını kullanarak .net Framework 3.5.1 seçeneğinin altında yer alan bütün seçeneklerin seçili duruma getirilmesi gerekmektedir. Aksi taktirde Asp.Net MVC 2 sürümünü bilgisayarınıza kuramayacak ve aşağıda anlatacağımız ya da yukarıda anlatmış olduğumuz işlemleri yapamıyor olacaksız.

Gerekli geliştirme araçlarına sahip olduğumuza göre MVC Framework 1.0 ile geliştirilmiş olan web uygulamasını yükseltmeye başlayabiliriz. Bu işlemi adım adım anlatıyor olacağız.

1. Projenin yedeğinin alınması gerekmektedir.

2. *.csproj proje dosyasını not defteri yardımı ile açtıktan sonra ProjectTypeGuid nesnesinin değerine ulaşmamız gerekecektir. Bulmamız gereken GUID {603c0e0b-db56-11dc-be95-000d561079b0} ile {F85E285D-A4E0-4152-9332-AB1D724D3325} şeklindedir. bu değeri bulduktan sonra {F85E285D-A4E0-4152-9332-AB1D724D3325};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc} değerleri ile değiştirilmesi gerekmektedir.

3. Web uygulamasının bulunduğu klasöre eriştikten sonra Web.Config dosyası açılır ve içerisinde verilmiş olan referanslardan System.Web.MVC, Version=1.0.0.0 yazınını bulduktan sonra bu referans bilgisini System.Web.MVC, Version=2.0.0.0 olacak şekilde güncelliyoruz.

4. Views klasörünün içerisinde yer alan Web.config dosyasına da 3. maddede yer alan değişiklikleri uyguluyoruz.

5. Visual Studio ile MVC 1.0 ile hazırlanmış olan projeyi açtıkan sonra (Yukarıdaki değişiklikleri yapmış oluyoruz tabikii) Referanslar bölümünde yer alan System.Web.MVC referansını siliyoruz (1.0 sürümünü). Sonrasında System.Web.Mvc ‘nin 2.0 olan sürümüne ilişkin dll ‘i projeye referans olarak ekliyoruz.

6. Web.config dosyasının içerisine bindingRedirect nesnesinin kullanılabilmesi için aşağıdaki yapılandırma dosyasını ekliyoruz.

<runtime>
  <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
    <dependentAssembly>
      <assemblyIdentity name="System.Web.Mvc"
publicKeyToken="31bf3856ad364e35"/>
      <bindingRedirect oldVersion="1.0.0.0"
newVersion="2.0.0.0"/>
    </dependentAssembly>
  </assemblyBinding>
</runtime>

7. Script dosyasınına yeni eklenenleri kullanabilmek için yeni bir MVC 2.0 projesi oluşturduktan sonra olmayan MVC 1.0 ile hazırlanmış olan uygulamada olmayan script dosyalarını 2.0 projesinin içerisinden diğerine kopyalıyoruz.

8. Biraz önce oluşturmuş olduğumuz MVC 2.0 projesi içerisinde yer alan CSS ‘i kullanmak istiyorsanız Site.css ‘i eski projede aynı dosyada yer alan şekilde kopyalıyoruz.

9. Yapılan değişiklikler sonrasında uygulamamızı derliyor ve sorunsuzca çalıştırıyoruz.

El ile adım  adım yaptığımız da gördüğünüz gibi aslında yapacağımız işlemleri basitçe gerçekleştirebilmemiz mümkündür.

Sonuç olarak bu yazımızda Asp.NET MVC Framework 1.0 ile hazırlanmış olan web uygulamalarını Asp.NET MVC Framework 2.0 ‘a yükseltirken hangi adımları uygulayacağımızı hem sihirbaz yardımı ile hem de adım adım bizlerinde nasıl yapabileceğini inceleyerek değinmeye çalıştık.

Umarım Yararlı olabilmiştir.

Kaynaklar
MSDN
Upgrading Wizard

Turhal Temizer

Yorumlar

Bu blogdaki popüler yayınlar

SharePoint 2010 - Content Query for Blog Posts

I hope this post will help many of you feel comfortable with using the Content Query Web Part. In this post I will walk you through the process of creating a content query web part and configuring it to show custom field types. I will also give details on how to use XSLT to stylize and format the data being pulled. I will be using the following scenario as an example. Say that you had a site collection with a top level publishing site. This publishing site would display a the most recent blog posts from all blog sites within its own site collection. To solve this problem we will use a Content Query Web Part and a customized ItemStyle.xsl using XSLT. Please note that the “SharePoint Server Publishing Infrastructure” needs to be enabled at the site collection to display the content query web part. Step 1: Add a Content Query Web Part to Page Navigate to the site that you want the blog posts to show up and click on edit page. Under Editing Tools in the Ribb

Olasılıksız - Kitap Yorum

Olasılıksız hayatımda okuduğum en iyi kitaptı. Tek çırpıda hiç sıkılmadan, eğlenerek okudum bu kitabı, tavsiyem sizinde okumanız. Kitabın kapağı ve içeriği ile ilgili kısa bilgi aşağıdadır. Olasılık, tahmin, düşünceler, nöbetler, karışıklıklar, ileriyi görebilme zannı, dejavu ve tabii ki olasılıksız şeyler. Bu kelimelerle içli dışlı olabileceğiniz, bütün bu kelimelerin yaşamdaki yerini kavrayabileceğiniz müthiş bir uyarlama. Adam Fawer' ın ortaya çıkardığı bu uyarlama romanın müthiş bir çalışmanın ve araştırmanın sonucu ortaya çıktığının kitabın başından sonuna kadar farkındasınız. Bu uyarlamasını, derin araştırmalarıyla birleştirip romanı tekdüzelikten çıkarıp müthiş bir yere koyduğu için de Fawer' a müteşekkir oluveriyorsunuz. Sıkıcı diye nitelendirebileceğiniz teorik bilgileri bile bir çırpıda okuyuveriyorsunuz. Teorik bilgiler dahi olaylarla sonuna kadar bağlantılı aktarılmış. Tekdüzelikten çıkmış bir roman; olasılıksız. Her an olayın kurgusunun değişmesi olasılık dahilind

.Net 3.5 SP1 – Full Install Packages (Tam Kurulum)

.Net Framework 3.5 SP1 ‘i bilgisayarınıza kurmak istediğinizde normal şartlar altında Microsoft ‘un sitesinde 2.7 mb ‘lik bir dosya indirir ve kurulum işlemlerinizi bu dosya üzerinden yaparsınız. Ancak bu indirmiş oluğunuz dosya yaklaşık 220 mb ‘lik veriyi internetten indirerek kurulum yapmaktadır. İnternet çıkışına izin verilmeyen kurumlar ve kuruluşlar için bu durum bir sıkıntı oluşturmaktadır. Bu sebepten ötürü aşağıdaki link yardımı ile tam yükleme paketini indirdikten sonra hiç internet ihtiyacınız olmadan .Net 3.5 SP1 ‘i kurabilmeniz mümkün olacaktır. Link