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

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

0

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

İlk olarak Visual Studio for Mac ile yeni bir ASP.NET Core 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 docker 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 Dockerfile 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ı alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.

Referanslar

www.mshowto.org

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

Bu İçeriğe Tepkin Ne Oldu?
  • 0
    harika_
    Harika!!
  • 0
    be_enmedim
    Beğenmedim
  • 1
    _ok_iyi
    Çok iyi
  • 0
    sevdim_
    Sevdim!
  • 0
    bilemedim_
    Bilemedim!
  • 0
    olmad_
    Olmadı!
  • 0
    k_zd_m_
    Kızdım!

Mert Yeter, lisans eğitimini Yıldız Teknik Üniversitesi'nde, yüksek lisans eğitimini ise Bahçeşehir Üniversitesi'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.

Yazarın Profili
İlginizi Çekebilir

Bültenimize Katılın

Tıklayın, üyemiz olun ve yeni güncellemelerden haberdar olan ilk kişi siz olun.

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir