Visual Studio Olmadan Proje Derlenir Mi ?

  • 11.08.2016
  • M.Tayyip Yetiş
  • .Net Framework

Merhaba arkadaşlar, başlığı bir hayli ilginç seçtim çünkü konu içeriği de bir o kadar ilginç. .Net yazılım dünyasında Visual Studio'nun konumu çok önemlidir ve desktop, mobil, web, cloud kısaca her türlü platformda .net deyince akla ilk Visual Studio gelir koyu yazılımcılar için özellikle Dark Theme vazgeçilmezdir :) Microsoft'un ilk olarak Nisan 1995 tarihinde yayınladığı Visual Studio 4.0 versiyonundan beri 21 yıl geçti (Visual Studio 4.0 versiyonundan önce, ayrı ürün olarak, Visual Basic 3, Visual C++, Visual FoxPro and Source Safe bulunmaktaydı. bknz vikipedi) vs 97, vs 6.0, vs2002, vs2003, vs2005, vs2008, vs2010, vs2012, vs2013ve en son olarak 20 Temmuz 2015 tarihinden itibaren Visual Studio 2015 olarak çok sayıda versiyonu yayınlanmıştır. Ben bu serüveni vs 6.0 dan itibaren yakaladım (ama vs 2010 çoktan yayınlanmıştı) ilk uygulamalarımı bu IDE üzerinden yaptığımı hatırlıyorum içinde .Net Framework altyapısı olmadığı için Debug işlemlerinin çok hızlı yapıldığını hatırlıyorum nitekim vs 2010 ile ilk çalıştığım zaman bana oldukça hantal ve yavaş gelmişti ve bu yüzden bir süre daha 6.0 kullanmaya devam etmiştim.

Kendisi ile geçmişimiz uzaklara dayansa da sağda solda gördüğüm bazı kaynaklarda visual studio olmadan da çalışılabileceğine kaynaklar ilgimi çekti. C# için geçerli olan CSC.Exe uygulaması ile bu işlerin zaten yapılabileceğini biliyordum ama sadece class derleme yaptığı için bir projeyi tamamıyla derleyemediği için beni VStudio dan koparmaya yetmemişti. Nihayet yine bir internet araştırmasında Burak Selim Hocanın konu ile ilgili yazısıyla karşılaştım oldukça detaylı bu makale sonunda ilk denemelerimi de yaptım sonuç gayet başarılıydı gerçekten de bir web projesini Notepad++ ile oluşturup MSBuild.exe ile bunun derlenebileceğini ve /bin/proje.dll dosyasının rahatlıkla oluşturulabileceğini gördüm. Zaten aynı makalede de bahsedildiği üzere Visual Studio'nun kendisi Build işlemi için MSBuild.exe platformunu kullanmaktadır. Bu uygulama .Net Framework yüklü her bilgisayarda bulunmaktadır. Tabii ki bu anlatılanlar sizi VStudio'dan soğutmasın nitekim aynı projeyi geliştirme sürelerindeki farkı sanırım siz tahmin edebilirsiniz. Peki neden MSBuild kullanmalıyım ? diyorsanız bir kaç sebebi aşağıda bulabilirsiniz

  1. Sunucu üzerindeki projelerinize acil müdahale etmek istiyorsanız ve sunucuya sırf bu yüzden 6+ GB'lık bir program kurmak istemiyorsanız
  2. Üzerinde VStudio olmayan bir bilgisayarda projelerinizi derlemek istiyorsanız
  3. Hiçbir yardım almadan sadece Notepad++ kullanarak uygulama geliştirmek istiyorsanız MSBuild kullanmak için yeterli sebebiniz var demektir.

Hazırlıklar

VStudio'nun konforu tartışılmaz ama biz onsuz da bu işi başarabiliriz dedik bunun için minimum gereksinim isterseniz MS Notepad, MSBuild ve .Net Framework yeterlidir ama yine de konfor isterseniz Notepad++ kullanıp bunun da üzerine bir kaç eklenti kurup işinizi daha da kolaylaştırabilirsiniz. Örneğin C# için intellisense(otomatik tamamlama vs.) isterseniz Notepad++ ana menüsünden Plugins/Plugin Manager/Show Plugin Manager yolundan Available Tab menüsü altında kullanılabilir eklentiler arasından CS-Script ekltentisini seçip Install butonuyla kurabilirsiniz bu ekltenti içerisinde yukarıda bahsettiğim CSC.Exe uygulaması da geldiği için C# class'larınızı derleyip console uygulaması olarak da çalıştırabilirsiniz ama bizim amacımız tabii ki bu değil devam edelim.

Temanızı da değiştirip Visual Studio'nın karanlık dünyasına benzetmek istiyorsanız Github üzerinde hazırlanmış olan VS Dark Theme paketini açıklamaları takip ederek indirp kurabilirsiniz. Tüm bunları yaptığınızda daha iyi bir geliştirme ortamınız olacaktır.

İlk Uygulama

İlk uygulamamızı yapmaya başlayalım. uygun bir yerde yeni bir klasör oluşturun tüm dosyaların bu ana klasör içerisinde olması gerekiyor ardından ornekproje.cs dosyasını oluşturun. derlemek istediğimiz Console uygulaması kodlarımız aşağıdaki gibidir

using System;

public class ornekproje
{
  static void Main() {
	  Console.WriteLine("Merhaba Dünya!");
	  Console.ReadLine();
  }
}

MSBuild'in derleme yapması için configurasyon ayarlarına ihtiyacı vardır bunlar için proje.csproj uzantılı bir dosya oluşturun bu dosya VStudio nun sizin için otomatik oluşturduğu dosyadır. içeriği aşağıdaki gibidir.

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
  <ItemGroup> 
    <Compile Include="ornekproje.cs" /> 
  </ItemGroup> 
  <Target Name="Build"> 
    <Csc Sources="@(Compile)"/>  
  </Target> 
</Project>

Şimdi MSbuild.exe uygulamasını bu klasör içerisine kopyalayıp çalıştırmamız gerekiyor bunu yapmadan exe ye klasör yolunu parametre olarak göndererek de derleyebilirsiniz fakat biz başlangıç için en basit yolları seçiyoruz. MSBuild dosyasını (Standart bir bilgisayar için) "C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe" yolundan bulabilirsiniz. Bu işlemlerin ardında yapmanız gereken sadece msbuild uygulamasını çalıştırmak olacak bu o kadar mütevazi bir uygulama ki işlemlerini tamamladıktan sonra kendi otomatik kapanıyor ve class ismiyle aynı isimde bir exe uygulamasını klasör içerisinde oluşturuyor. siz detayları görmek istiyorsanız cmd.exe ile bu uygulamayı çalıştırabilirsiniz.

Ve uygulamamız

Sonuç

Bu örnekte basit bir console uygulaması yaptık ama aynı şekilde karmaşık bir web uygulamasını da derleyebilirsiniz benim genelde kullanım amacım Visual Studio ile oluşturduğum uygulamalarımı sunucu üzerinde değiştirdiğimde derleyebilmek olduğu için csproj vs. dosyalar ile uğraşmıyorum MSBuild uygulamasını ana dizinde çalıştırıp işimi tamamlıyorum. sizler yukarıda sayılan amaçlar için de kullanabilirsiniz.

Umarım faydalı olmuştur.

Mustafa Tayyip YETİŞ
Yazılım Geliştirme Uzmanı

Yorum Yap

Diğer Makaleler

Etiketler