Visual Studio C# Windows Forms Projesini Taşıma ve EXE Dosyası Oluşturma
Visual Studio ile C# Windows Forms uygulamaları geliştirirken hazırladığımız projeleri başka bilgisayarlara taşımak veya uygulamalarımızı Visual Studio olmadan çalıştırmak isteyebiliriz.
Örneğin okulda hazırladığımız bir Windows Forms uygulamasını evde geliştirmeye devam etmek ya da oluşturduğumuz programı başka bir bilgisayarda çalıştırmak isteyebiliriz.
Bu işlemler için iki farklı yöntem kullanılır:
- Projeyi klasör olarak taşımak: Form tasarımını ve C# kodlarını başka bilgisayarda düzenlemeye devam etmek için kullanılır.
- Uygulamayı EXE dosyası olarak oluşturmak: Hazırladığımız programı Visual Studio açmadan çalıştırmak için kullanılır.
Bu makalede her iki işlemi de adım adım inceleyeceğiz. Örneklerimizde C# Windows Forms ve .NET Framework kullanılacaktır.
1. VISUAL STUDIO PROJE KLASÖRÜNE NASIL ULAŞILIR?
Visual Studio'da oluşturduğumuz her proje bilgisayarımızda bir klasör içerisinde saklanır. Bu klasörde form tasarımları, C# kodları, proje ayarları ve uygulamanın çalışması için gerekli diğer dosyalar bulunur.
Proje klasörünü bulmak için:
- Visual Studio'da projemizi açalım.
- Sağ taraftaki Çözüm Gezgini (Solution Explorer) bölümüne gelelim.
- Projemizin adına sağ tıklayalım.
- Dosya Gezgini'nde Klasörü Aç seçeneğini kullanalım. Bu seçenek görünmüyorsa proje dosyalarından birine sağ tıklayarak İçeren Klasörü Aç seçeneğini kullanabiliriz.
Visual Studio projeleri varsayılan olarak genellikle aşağıdaki konumda saklanır:
C:\Users\KullaniciAdi\source\repos\
Ancak proje oluşturulurken farklı bir kayıt konumu seçilmiş olabilir.
2. VISUAL STUDIO PROJE DOSYALARI NE İŞE YARAR?
Bir Windows Forms projesinin klasöründe çeşitli dosyalar bulunur. Bu dosyaların görevlerini bilmek, projeyi başka bilgisayara taşırken hangi dosyaların gerekli olduğunu anlamamızı sağlar.
ÖRNEK PROJE KLASÖRÜ
WindowsFormsApp1
|
|-- WindowsFormsApp1.sln
|
|-- WindowsFormsApp1
|
|-- Form1.cs
|-- Form1.Designer.cs
|-- Form1.resx
|-- Program.cs
|-- App.config
|-- WindowsFormsApp1.csproj
|
|-- Properties
|-- bin
|-- obj
Projenin oluşturulma biçimine göre klasör yapısı farklılık gösterebilir.
ÖNEMLİ PROJE DOSYALARI
Form1.cs: Form üzerinde gerçekleştirdiğimiz işlemlerin C# kodlarını içerir. Örneğin bir butona tıklandığında çalışacak kodlar bu dosyada bulunabilir.
Form1.Designer.cs: Form üzerine eklediğimiz Button, Label, TextBox ve RadioButton gibi kontrollerin tasarım kodlarını içerir. Bu dosya Visual Studio tarafından otomatik yönetilir.
Form1.resx: Forma ait resim, simge ve benzeri kaynakları saklayabilir.
Program.cs: Uygulamanın başlangıç kodlarını içerir. Windows Forms uygulamasında genellikle başlangıç formu buradan çalıştırılır.
WindowsFormsApp1.csproj: Projenin hedef .NET Framework sürümü, kaynak dosyaları ve derleme ayarları gibi bilgileri içerir.
WindowsFormsApp1.sln: Visual Studio çözüm dosyasıdır. Projeyi veya birden fazla projeyi içeren çözümü açmak için kullanılır.
bin: Derleme sonucunda oluşan EXE ve DLL gibi dosyaların bulunduğu klasördür.
obj: Derleme sırasında kullanılan geçici ve ara dosyaları içerir.
3. WINDOWS FORMS PROJESİ BAŞKA BİLGİSAYARA NASIL TAŞINIR?
Hazırladığımız uygulamayı başka bir bilgisayarda geliştirmeye devam etmek istiyorsak yalnızca EXE dosyasını taşımamız yeterli değildir.
Projenin kaynak kodlarını ve tasarım dosyalarını da taşımamız gerekir.
Örneğin okulda hazırladığımız bir Windows Forms projesini evde geliştirmeye devam etmek istediğimizi düşünelim.
PROJEYİ TAŞIMA ADIMLARI
- Visual Studio'da projemizi kaydedelim.
- Projemizin bulunduğu klasöre ulaşalım.
- Çözüm dosyasını ve proje klasörünü içeren ana klasörü USB belleğe kopyalayalım.
- USB belleği diğer bilgisayara takalım.
- Proje klasörünü bilgisayara kopyalayalım.
- .sln uzantılı çözüm dosyasını Visual Studio ile açalım.
- Projemizi derleyerek çalıştıralım.
Bu işlemlerden sonra form tasarımını değiştirebilir, yeni kontroller ekleyebilir ve C# kodlarımızı geliştirmeye devam edebiliriz.
Önemli: Diğer bilgisayarda Visual Studio'nun ve projenin gerektirdiği geliştirme bileşenlerinin bulunması gerekir.
Ayrıca bin ve obj klasörlerinin taşınması genellikle zorunlu değildir. Visual Studio projeyi derlediğinde bu klasörleri yeniden oluşturabilir.
4. EXE DOSYASI NEDİR?
EXE, İngilizce Executable kelimesinden gelir ve çalıştırılabilir dosya anlamındadır.
Windows işletim sisteminde programları başlatmak için kullanılan dosya türlerinden biridir.
Örneğin:
hesapmakinesi.exe
notdefteri.exe
ogrencitakip.exe
Visual Studio'da geliştirdiğimiz Windows Forms uygulaması da derlendiğinde bir EXE dosyası oluşturulur.
Bu dosyayı çalıştırmak için Visual Studio'nun açık olması gerekmez. Ancak uygulamanın ihtiyaç duyduğu .NET Framework sürümü ve varsa diğer bağımlılıkların bilgisayarda bulunması gerekir.
5. DEBUG VE RELEASE ARASINDAKİ FARK NEDİR?
Visual Studio'da üst araç çubuğunda genellikle Debug veya Release seçenekleri bulunur.
Bu seçenekler uygulamanın hangi yapılandırmayla derleneceğini belirler.
DEBUG MODU
Debug modu, uygulamayı geliştirirken ve hataları kontrol ederken kullanılır.
- Kodları adım adım çalıştırabiliriz.
- Breakpoint kullanarak programı durdurabiliriz.
- Değişkenlerin değerlerini inceleyebiliriz.
- Hataları daha kolay tespit edebiliriz.
RELEASE MODU
Release modu, uygulamanın dağıtılacak sürümünü oluşturmak için kullanılır.
Bu modda derleyici genellikle performans odaklı iyileştirmeler uygular.
Uygulamamızı başka bilgisayarlarda kullanmak üzere hazırlarken Release modunu tercih etmeliyiz.
6. VISUAL STUDIO'DA EXE DOSYASI NASIL OLUŞTURULUR?
Windows Forms uygulamamızı EXE dosyası olarak oluşturmak için aşağıdaki adımları izleyelim.
Adım 1: Visual Studio'da projemizi açalım.
Adım 2: Üst araç çubuğunda bulunan Debug seçeneğini Release olarak değiştirelim.
Adım 3: Üst menüden Derle (Build) bölümünü açalım.
Adım 4: Çözümü Derle (Build Solution) seçeneğine tıklayalım.
Bu işlemi klavyeden aşağıdaki kısayolla da gerçekleştirebiliriz:
Ctrl + Shift + B
Adım 5: Derleme işleminin tamamlanmasını bekleyelim.
Derleme başarılı olduğunda Visual Studio uygulamamızın EXE dosyasını oluşturur.
7. OLUŞTURULAN EXE DOSYASI NEREDE BULUNUR?
.NET Framework kullanan bir Windows Forms projesinde Release modunda oluşturulan EXE dosyası genellikle şu klasörde bulunur:
WindowsFormsApp1
|
|-- bin
|
|-- Release
|
|-- WindowsFormsApp1.exe
Örneğin projemizin adı atyarisi ise oluşturulan dosya genellikle şu konumda bulunur:
atyarisi\bin\Release\atyarisi.exe
EXE dosyasına çift tıkladığımızda hazırladığımız Windows Forms uygulaması açılır.
Artık uygulamayı çalıştırmak için Visual Studio'yu açmamıza gerek yoktur.
8. EXE DOSYASI BAŞKA BİLGİSAYARDA ÇALIŞIR MI?
Evet. Hazırladığımız EXE dosyasını başka bir Windows bilgisayara taşıyarak çalıştırabiliriz.
Ancak bunun için bazı koşulların sağlanması gerekir.
Örneğin projemizi .NET Framework 4.7.2 kullanarak geliştirdiğimizi düşünelim.
Bu durumda uygulamanın çalıştırılacağı bilgisayarda .NET Framework 4.7.2 veya uyumlu daha yeni bir sürümün bulunması gerekir.
Windows 10 ve Windows 11 bilgisayarların çoğunda .NET Framework 4.8 veya 4.8.1 bulunduğundan bu uygulamalar genellikle ek kurulum gerektirmeden çalışabilir.
Ancak bilgisayarda gerekli .NET Framework sürümü yoksa uygulamayı çalıştırmadan önce bu bileşenin kurulması gerekir.
ÖRNEK SENARYO
Okulda dört RadioButton, bir Button ve bir Label kullanarak şehir seçimi uygulaması hazırladığımızı düşünelim.
Uygulamamızı Release modunda derleyip EXE dosyasını USB belleğe kopyalayalım.
Evdeki bilgisayarımızda uygun .NET Framework sürümü yüklüyse ve uygulamamız başka dosyalara ihtiyaç duymuyorsa EXE dosyasına çift tıklayarak programımızı çalıştırabiliriz.
9. SADECE EXE DOSYASINI KOPYALAMAK YETERLİ MİDİR?
Bu sorunun cevabı uygulamamızın yapısına bağlıdır.
Basit bir Windows Forms uygulamasında yalnızca EXE dosyası yeterli olabilir.
Örneğin:
- RadioButton ile şehir seçimi
- TextBox ile iki sayının toplamını hesaplama
- ComboBox ile ürün seçimi
- CheckBox ile seçenek belirleme
- Button ile Label üzerinde mesaj gösterme
gibi temel uygulamalarda çoğunlukla harici dosyalara ihtiyaç duyulmaz.
Ancak daha kapsamlı uygulamalarda EXE dosyası tek başına yeterli olmayabilir.
Örneğin uygulamamız:
- Harici DLL dosyaları kullanıyorsa,
- Veritabanına bağlanıyorsa,
- Bilgisayardaki belirli resim veya metin dosyalarını okuyorsa,
- Özel kütüphaneler kullanıyorsa,
bu bağımlılıkların da uygun şekilde taşınması veya hedef bilgisayarda hazırlanması gerekir.
Bu nedenle kapsamlı uygulamalarda yalnızca EXE dosyasını değil, gerekli dağıtım dosyalarının tamamını kullanmalıyız.
10. PROJE KLASÖRÜ İLE EXE DOSYASI ARASINDAKİ FARKLAR
| Özellik |
Proje Klasörü |
EXE Dosyası |
| Temel amacı |
Uygulamayı geliştirmek |
Uygulamayı çalıştırmak |
| Visual Studio gerekir mi? |
Geliştirmek için evet |
Hayır |
| Form tasarımı değiştirilebilir mi? |
Evet |
Doğrudan hayır |
| C# kodları düzenlenebilir mi? |
Evet |
Doğrudan hayır |
| Başka bilgisayara taşınabilir mi? |
Evet |
Evet |
| .NET Framework gerekir mi? |
Projenin gereksinimine göre |
Evet, .NET Framework uygulamalarında |
11. UYGULAMA: WINDOWS FORMS PROJESİNİ EXE OLARAK OLUŞTURALIM
Şimdi öğrendiklerimizi basit bir uygulama üzerinde deneyelim.
Uygulamanın amacı: Kullanıcının seçtiği şehri ekranda göstermek ve uygulamayı EXE dosyası olarak oluşturmak.
FORM TASARIMI
Form üzerine aşağıdaki kontrolleri ekleyelim:
- 4 adet RadioButton
- 1 adet Button
- 1 adet Label
RadioButton kontrollerinin Name özelliklerini sırasıyla radioButton1, radioButton2, radioButton3 ve radioButton4 olarak belirleyelim.
Text özelliklerini ise Ankara, İzmir, İstanbul ve Mardin olarak ayarlayalım.
Button kontrolünün Text özelliğini Göster olarak değiştirelim.
Label kontrolünün Name özelliğini label1 yapalım.
BUTONUN CLICK OLAYI
Göster butonuna çift tıklayarak Click olayına aşağıdaki kodları yazalım.
private void button1_Click(object sender, EventArgs e)
{
if (radioButton1.Checked)
{
label1.Text = "Seçilen şehir: Ankara";
}
else if (radioButton2.Checked)
{
label1.Text = "Seçilen şehir: İzmir";
}
else if (radioButton3.Checked)
{
label1.Text = "Seçilen şehir: İstanbul";
}
else if (radioButton4.Checked)
{
label1.Text = "Seçilen şehir: Mardin";
}
else
{
label1.Text = "Lütfen bir şehir seçiniz.";
}
}
UYGULAMANIN ÇALIŞMASI
Program çalıştırıldığında kullanıcı şehirlerden birini seçer.
Göster butonuna tıklandığında seçilen şehir Label kontrolünde görüntülenir.
UYGULAMAYI EXE DOSYASINA DÖNÜŞTÜRME
- Projemizi kaydedelim.
- Debug modunu Release olarak değiştirelim.
- Derle menüsünden Çözümü Derle seçeneğine tıklayalım.
- Proje klasöründeki bin\Release klasörünü açalım.
- Oluşturulan EXE dosyasını bulalım.
- EXE dosyasına çift tıklayarak uygulamayı çalıştıralım.
Son olarak uygulamamızı USB belleğe kopyalayıp uygun .NET Framework sürümüne sahip başka bir bilgisayarda deneyelim.
12. SONUÇ
Visual Studio'da geliştirdiğimiz C# Windows Forms uygulamalarını farklı bilgisayarlara taşımanın iki temel yöntemi bulunmaktadır.
Proje klasörünü taşımak, uygulamanın kaynak kodlarına ve form tasarımına erişerek geliştirmeye devam etmemizi sağlar.
EXE dosyasını oluşturmak ise hazırladığımız uygulamayı Visual Studio'yu açmadan çalıştırmamızı sağlar.
Bu iki yöntemin farkını bilmek, geliştirdiğimiz uygulamaları saklama, yedekleme, paylaşma ve başka bilgisayarlarda kullanma açısından önemlidir.
Ayrıca EXE dosyalarının çalışabilmesi için gerekli .NET Framework sürümünün ve uygulamanın kullandığı diğer bileşenlerin hedef bilgisayarda bulunması gerektiğini unutmamalıyız.