Erdinç Yaşan

bin ve sln dosyaları nelerdir?

bin  ve sln dosyaları nelerdir?

Daha fazla ilerlemeden önce eğer dikkatinizi çektiyse biz dotnet run komutunu çalıştırdıktan sonra proje dosyalarımızın içerisinde bin klasörü oluşturuyor.

Hadi gelin öncelikle bunun içerisinde ne varmış bakalım.

Eğer dikkatinizi çekmemiş ise hem vscode hem de explorer içerisindeki görünümlerini yukarıda bıraktım. Explorer ‘dan kastım Windows Dosya Gezgini internet explorer biliyorsunuz ki tarih oldu.

Bin klasörünün içerisini açarsanız Debug klasörünü onun altında da net7.0 klasörünü göreceksiniz, debug nedir sonraki yazımızda detaylı olarak anlatacağım şimdilik odaklanmanız gereken yer dosyalar.

Şimdi net7.0 klasörü içerisinde bizim programımızın windows için çalıştırılabilir hali var. Exe dosyasını üretmesinin sebebi hatırlarsanız csproj dosyamızın içinde OutputType içerisinde exe yazmıştık.

Burada önemli iki dosya var ve uzantıları dll ve exe bu uzantılar bizim programımızın kendisi esasında. Programların çalışma mantığını anlatmıştım zaten bu dosyalar makine diline bizim yazmış olduğumuz kodlardan daha yakın.

Eğer siz buradaki EY_HelloWorld.exe dosyasını çalıştıracak olursanız ne olur?

Korkmayın deneyin, ben bile denedim 😂

Evet programımız açıldı ve kapandı. Kapanmasının sebebi hata almamızdan dolayı değil programımız çalıştı işini yaptı ve bitti, daha çalışmasını gerektirecek bir durum yok. Eğer pencerenin açık kalmasını istiyorsak Console.WriteLine satırının altına Console.ReadLine() metodunu eklemeliyiz programın son hali şöyle olacaktır.

O ampülü kaldıramadım kusura bakmayın, 2 satır bir kod olduğundan dolayı direkt olarak kodu paylaşmadım. Ekstra olarak daha yolun başında kod yazmaktan da korkmayalım değil mi?

Şimdi tekrar çalıştıralım exe dosyamızı ve sonucu görelim.

Evet… hiçbir şey değişmedi, bana sövmeden önce ifade etmeme izin verin buradaki dosyalar siz projeyi build ettiğiniz takdirde oluşur eğer siz projeyi build etmezseniz en son build ettiğiniz hali kalacaktır. Hemen terminal açarak dotnet build komutunu çalıştıralım.

Eğer terminalin nasıl açılacağını unuttuysanız diye yukarıda bir görsel bıraktım dotnet build komutunu yazdıktan sonra enter tuşu ile çalıştıralım.

Çok güzel dikkat ettiyseniz proje çalışmadı derlendi ve sonlandı amaaaa bizim dosyalarımız değişti isterseniz şimdi tekrar exe dosyasını çalıştırın.

Bende çalıştı eğer sizde halen daha hemen açılıp kapanıyorsa, muhtemelen dosyayı kaydetmeden projeyi build etmişsinizdir. Öyle bir hata yaptıysanız el mecbur dosyayı kaydedip tekrardan build işlemini yapmalısınız

Exe dosyasını çalıştırdıktan sonra açılan konsol’da farkettiyseniz bir imleç yanıp sönüyor ve klavyeden harf veya numara tuşladığınızda ekrana yazabiliyorsunuz.

Bunun sebebi Console.ReadLine() dememizdir program siz enter tuşuna basana kadar aynı işlemi yapmaya devam edecektir.

Şimdi gelelim sln dosyasına

Sln dosyasından kısaca bahsettik Visual Studio ile proje oluşturduğunuzda otomatik olarak sln dosyasını oluşturuyor, fakat dotnet cli kullanarak proje oluşturduğunuzda sln dosyası eksik oluyor. Bunu kendimiz elle ekleyebiliriz, hemen dotnet new sln -n EY_HelloWorld yazarsak sln dosyamız oluşacaktır.

Sln dosyasını oluşturduktan sonra içerisini vscode içerisinde açarsanız böyle yazılar görürsünüz zaten en üstte dosyanın ne olduğu yazıyor anlatmaya pek gerek yok. Şimdi bu dosyayı oluşturduk peki projemizi Visual Studio ile açıp çalıştırabilecek miyiz? Hemen deneyelim.

Dosyanın bulunduğu konumu windows gezgini ile açın sağ tıklayın ve birlikte aç seçeneği ile VisualStudio programını seçin.

Sağ tarafta SolutionExplorer içerisinde farkettiğiniz üzere 0 adet proje mevcut yani bizim sln dosyasını oluşturmamız projelerin içerisine otomatik olarak ekleneceği anlamına gelmiyor.

Projelerimizi SLN içerisine nasıl ekleriz?

Bunun 2 yöntemi var ilk olarak Visual Studio ile olanı göstereyim, sonrasında ise dotnet cli kullanarak nasıl ekleriz ona bakalım.

Sırasıyla solution adımıza sağ tıklayıp add komutu üzerine gelip Existing Project derseniz açılan ekrandan proje dosyamızı seçmemiz isteniyor, Muhtemelen ilk açılan ekran C:\Users\username\source\repos olacaktır fakat bizim projemiz burda değil. Benim projem Masaüstünde dotnetprojeleri klasörümün içerisinde yer alıyor.

Dikkat etmeniz gereken şey ise projenin klasörünü seçmeyeceğiz! csproj uzantılı dosyayı seçeceğiz. Seçip ekledikten sonra projemiz artık sağ tarafta görülebilir olacaktır.

Projemizin dosyalarını düzenleyebiliyoruz artık madem eklemeyi gösterdik bir de kaldırmayı gösterelim.

Kaldırmak istediğimiz projeye ! sağ tıklayıp remove dersek proje sln içerisinden kaldırılmış olacaktır. Korkmayın kodlarımız duracak  fakat sln altında gözükmeyecek. Şimdi gördüğünüz gibi tekrardan sln altında 0 proje mevcut olacak.

Gelin dotnet cli ile sln dosyasına projeyi ekleyelim.

Unutmayın önce visual studio’yu kapatmamız gerekiyor eğer sln altında az önce kaldırdığımız programın görünmediğinden eminseniz kapatabilirsiniz.

Şimdi terminali açalım dikkat ettiyseniz terminal etki alanım projemini içinde sln ve csproj dosyalarımın bulunduğu konumda. hemen dotnet sln add EY_HelloWorld.csproj yazarak sln içerisine projemi ekliyorum.

Ekledikten sonra bize eklendi diyor fakat ben güvenmiyorum hemen açıp kontrol edelim.

Visual studio’dan kaldırmış olduğumuz projeyi dotnet cli ile tekrardan eklemiş bulunuyoruz.

E madem eklemeyi gösterdik kaldırmayı da gösterelim. Visual Studio’yu kapatabiliriz.

tıpkı eklediğimiz gibi dotnet sln remove EY_HelloWorld.csproj yazarak solution altından projemizi kaldırabiliriz.

💡
Terminal içerisinde EY_HelloWorld.csproj gibi proje isimlerini yazarken bir kaç harf yazdıktan sonra Klavyenizde bulunan tab tuşuna basarsanız kalan harfleri otomatik tamamlayacaktır.

Bu makalem de bukadar olsun sonraki yazımda görüşmek üzere!

Exit mobile version