1. Ana Sayfa
  2. ASP.Net
  3. macOS Üzerinde .NET Geliştirme Ortamı – Bölüm-3: Container Üzerinde Çalışan bir ASP.NET Core Uygulamasını Debug Etmek

macOS Üzerinde .NET Geliştirme Ortamı – Bölüm-3: Container Üzerinde Çalışan bir ASP.NET Core Uygulamasını Debug Etmek

072018_1311_macOSzerind10.png

üzerinde Geliştirme ortamı ile ilgili ilk bölümde ve .NET Core SDK kurulumlarından; ikinci bölümde ise üzerinde Docker for Mac kurulumu, MSSQL ve Code’dan bahsetmiştik. Üçüncü bölümde ise Visual Studio for Mac ile bir Core uygulamasını container üzerine publish edip nasıl debug edilebildiğini inceleyeceğiz.

İlk olarak Visual Studio for Mac ile yeni bir Web App (MVC) projesi oluşturalım.

Resim-1

Configuration ekranında uygulamaya bir isim verdikten sonra (şu anda ihtiyaç olmadığından) herhangi bir version control seçmeden devam edebiliriz.

Resim-2

Create butonuna bastıktan sonra Resim-3‘te de göreceğiniz gibi yeni projemiz hazır.


Resim-3

Projeyi container üzerinde çalıştırmak için, öncelikle support eklememiz gerekiyor. Bunun için Resim-4‘te göreceğiniz şekilde projeye sağ tıklayıp Add Docker Support seçeneğini seçmeniz yeterli.


Resim-4

Projeye adında bir dosya ve solution altına docker-compose adında yeni bir proje eklendiğini görebilirsiniz (Resim-5 ve Resim-6).


Resim-5


Resim-6

Docker-compose projesini başlangıç projesi olarak ayarladıktan ya da direkt o projeyi çalıştırdıktan sonra container içerisinde AspNetCoreDockerDebug projesinin çalışmasını bekliyordum. Ancak işler pek de beklediğim gibi gitmedi. Resim-7‘da göreceğiniz gibi build işlemi aşağıdaki gibi bir hata verdi:

“Service ‘aspnetcoredockerdebug’ failed to build: manifest for microsoft/aspnetcore:2.1 not found”


Resim-7

Microsoft yaptığı küçük bir değişiklik ile base image ismini güncellemiş. Mevcuttaki Visual Studio for Mac template’leri bu kadar güncel olmadığı için Dockerfile üzerinde Resim-8‘de göreceğiniz gibi image ismini microsoft/dotnet:2.1-aspnetcore-runtime olarak güncelliyorum.


Resim-8

Bu güncellemeden sonra docker-compose projesini tekrar çalıştırdığımda ise farklı bir hata ile karşılaştım:

“Mounts denied: The path /usr/local/share/dotnet/sdk/NuGetFallbackFolder is not shared from OS X and is not known to Docker”


Resim-9

Bu hata mesajını düzeltmek için, bu kez de Docker ayarlarından File Sharing menüsüne geliyorum. Buraya erişim hatası aldığımız klasörü Resim-10‘da göreceğiniz şekilde ekliyorum ve Apply & Restart‘a basıyorum.


Resim-10

3. kez docker-compose projesini çalıştırdığımda proje başarılı bir şekilde derlendikten sonra default browser üzerinden uygulamamız açılıyor.


Resim-11

Terminal üzerinden de docker ps komutu ile ilgili container detaylarını görebilirsiniz (Resim-12).


Resim-12

Container ve uygulamanın çalıştığını gördükten sonra sıra debug işlemine geldi. HomeController.cs içerisinde About methoduna bir breakpoint koyduktan sonra, browser üzerinden About’a tıklayarak breakpoint’e düştüğünü görebilirsiniz.


Resim-13

Bu konuyla ilgili sorularınızı https://forum.mshowto.org linkini kullanarak ulaşacağınız forum sayfamızda sorabilirsiniz.

Referanslar

www.mshowto.org

TAGs: Visual Studio, Visual Studio for Mac, Docker, , Container, ASP.NET, ASP.NET Core, .NET, Dockerfile, macOS

Yorum Yap

Yazar Hakkında

Mert Yeter, lisans eğitimini Yıldız Teknik Üniversitesi Gemi İnşaatı Mühendisliği bölümünde, yüksek lisans eğitimini ise Bahçeşehir Üniversitesi Bilgi Teknolojileri bölümünde tamamlamıştır. Yazılım dünyasına üniversitenin ilk yıllarında aldığı QBasic ile başlayan Mert, .NET ve SQL Server gibi Microsoft teknolojileri ile devam etmiş; yüksek lisans tezini ise Linux konusunda yapmıştır. Netaş ve Ziraat Teknoloji gibi sektörün önde gelen firmalarında C#, .NET, SQL Server, Cisco Contact Center ürünleri ve Linux üzerine çalışmış, bir çok firmaya da bu konularda danışmanlık vermiştir. Şu anda da Done'de Cloud Development Manager olarak Azure, .NET Core, SQL Server, Docker vb güncel teknolojiler üzerinde çalışmaktadır.

Yorum Yap