Önceki makalemizde Asp.Net Core ile ilk web uygulamamızı Visual Studio üzerinden oluşturmuştuk. Bu makalemizde ise Asp.Net Core CLI yani komut satırı ile paketlerin yüklenmesi, çalıştırılması ve yayınlanması gibi işlemler üzerinde duracağız.
.Net Core CLI komut satırı arabirimini network cihazlarını konfigüre ederken kullanılan Cicso, Huawei CLI ortamlarına benzetebiliriz. Asp.Net Web Forms ve MVC temelli geliştiricilerde ön yargıya neden olan CLI ortamı aslında paketleri yüklemek, çalıştırmak, yayınlamak gibi kısacası çapraz platformda yapılacak işlemleri yönetmekten daha öte karmaşık işler yapan bir araç değildir.
.Net Core CLI yeni versiyon Visual Studio sürümlerinde .Net Core SDK ile birlikte yüklendiğinden ayrıca bir kurulum yapılmasına gerek duymamaktadır. .Net Core SDK yüklemesinin bilgisayarlarımızda olup olmadığı ve düzgün çalışıp çalışmadığını test edebilmek için Windows işletim sisteminin kendi komut satırında (CMD) “dotnet” yazıp gelen açıklamaları inceleyebiliriz.
CLI üzerinde yapılacak işlemlerde komut yapısı aşağıdaki gibidir.
dotnet <komut> <argumanlar> <seçenekler>
Yukarıdaki komut satırı syntaxından görüleceği üzere tüm komutlar dotnet ifadesi ile başlamaktadır. Dotnet girişinden sonra yapılacak olan eylemin ne olduğu komut ile verilmelidir. Bu komut eylemin kendisi olarak isimlendirilebilir. Farklı platformlardan komut satırı ile işlem yapanların aşina olacağı üzere komuttan sonra argümanlar ve varsa seçenekler belirtilmelidir.
Microsoft .Net Core 2.x versiyonları için CLI temel CLI komutlarını aşağıdaki tablodan inceleyelim. Komutlar hakkında detaylı bilgi edinmek için komutların üzerine tıklayabilirsiniz.
Temel Komutlar | Açıklaması | Örnek Kullanımı |
new | Yeni bir proje veya çözüm dosyası oluşturur. | dotnet new “ilk konsol uygulamam” |
restore | Projenin araçlarını geri yükler. | dotnet restore |
build | Build işlemini gerçekleştirir. | dotnet build
|
run | Kaynak kodu çalıştırmak için kullanılır. | dotnet run |
publish | Projeyi yayınlanacak duruma getirmek için yapılan paketleme işlemidir. | dotnet publish |
test | Unit test işlemini gerçekleştirir. | dotnet test |
vtest | Test işlemini belirtilen dosyalar üzerinden gerçekleştirir. | dotnet vtest testprojem.dll |
pack | Kodu NuGet ortamına paketler. | dotnet pack |
clean | Projenin çıktısını temizler. | dotnet clean |
sln | .Net Core solution dosyasını değiştirir. | dotnet sln todo.sln add todo-app/todo-app.csproj |
help | Komutlar hakkında yardım almak için kullanılır. | dotnet help new |
store | Belirtilen derlemeleri runtime paket deposunda saklar. | dotnet store –manifest packages.csproj –framework-version 2.0.0 |
Tablo-1 .Net CORE CLI Temel Komutlar
Proje Değiştirme Komutları | Açıklaması | Örnek Kullanımı |
add package | Proje dosyasına paket referansı eklemek için kullanılır. | dotnet add package Newtonsoft.Json |
add reference | Projeye referansları eklemek için kullanılır. | dotnet add app/app.csproj reference lib/lib.csproj |
remove package | NuGet paketini projeden kaldırmak için kullanılır. | dotnet remove package Newtonsoft.Json |
remove reference | Projeden proje referanslarını kaldırmak için kullanılır. | dotnet remove app/app.csproj reference lib/lib.csproj |
list reference | Proje referanslarını listelemek için kullanılır. | dotnet list app/app.csproj reference |
Tablo-2 .Net CORE CLI Değiştirme Komutları
Gelişmiş Komutlar | Açıklaması | Örnek Kullanımı |
nuget delete | Paketin sunucudan silinmesi veya listeden kaldırılmasını sağlar. | dotnet nuget delete Microsoft.AspNetCore.Mvc |
nuget locals | http-request önbelleği, geçici önbellek veya global paketlerdeki yerel NuGet kaynaklarını listelemek veya temizlemek için kullanılır. | dotnet nuget locals all -l
dotnet nuget locals http-cache –list
|
nuget push | Paketin sunucuya iletilmesi ve yayınlanmasını sağlar. | dotnet remove package Newtonsoft.Json |
msbuild | MSBuild erişimine izin vermek için kullanılır. | dotnet msbuild |
dotnet install script | .Net Core CLI araçlarını yüklemek için kullanılan komuttur. | ./dotnet-install.ps1 -Channel LTS |
Tablo-3 .Net CORE CLI Gelişmiş Komutlar
Tablolarda gösterilen örnek kullanımların hepsi Windows platformu içindir. Fakat komutların üzerine tıkladığınızda yönleneceğiniz Microsoft Docs web sayfasından komutlar hakkında detaylı bilgilere ulaşabilecek ayrıca bir komutun Windows ve macOS/Linux karşılıklarını görebileceksiniz. Komutlar hakkında yardım alabilmek için yukarıdaki tabloda da belirtildiği gibi yardım almak istediğimiz komutun sağına -h veya -help yazmamız gerekmektedir. Örneğin build komutu hakkında yardım almak için aşağıdaki resimden de göreceğimiz gibi dotnet build -h yazmamız yeterli olacaktır.
Resim-1
Hadi gelin programcılık klişemiz olan “Hello World” uygulamasını .Net Core ile grafik arabirimi olmadan yani Visual Studio olmadan oluşturalım. Windows komut satırından yeni bir konsol projesi oluşturmak için dotnet new console komutu kullanılır.
Resim-2
Bu konsol uygulamasına isim vermek için -n yani Name özelliği kullanılmaktadır. Uygulamayı isim vererek oluşturmak için ise dotnet new console -n MyConsoleApp komutu kullanılır.
Resim-3
MyProjects isimli bir dizinde MyConsoleApp şablonunu oluşturmak için dotnet new console -n MyConsoleApp -o C:\MyProjects komutu kullanılır. -o seçeneği output yani projenin oluşturulacağı çıktı dizini belirlemek için kullanılmaktadır.
Resim-4
Visual Studio ortamında yeni bir proje oluşturduğumuzu düşünelim ve bu projede çeşitli amaçlarla kullanılmak üzere ek paketler eklediğimizi düşünelim. Bu işlemi Visual Studio üzerinde ara yüz sayesinde NuGet ekleme yöntemiyle gerçekleştiriyorduk. Konsol ortamında bir paketi eklemek için ise dotnet add package komutu kullanılmaktadır. Konsolda C:\MyConsoleApp dizininde olduğumuzdan emin olduktan sonra örnek olarak Newtonsoft.Json paketini eklemek için dotnet add package Newtonsoft.json komutu kullanılır. Bu komutun Newtonsoft.Json paketini eklediğini .csproj dosyasından teyit edebiliriz.
Resim-5
Bir paketi güncellemek veya yeniden kurmak için ise restore komutu kullanılmaktadır.
Resim-6
Bu şekilde oluşturulan bir projeyi build edebilmek için ise build komutu kullanılır.
Resim-7
Projemizi Build ettikten sonra artık çalıştırabiliriz. Projeyi Run komutu ile çalıştırabiliriz. Bu aşamada tablo üzerindeki temel komutların birçoğunu uygulamış bulunmaktayız.
Resim-8
Yukarıda da gördüğümüz gibi “Hello World” klişemizi bir de .Net Core ile görmüş olduk. Komut satırı ile oluşturduğumuz projenin bilgisayarımızda fiziksel olarak nasıl göründüğüne de göz atmak istersek C dizininde MyProjects klasörünü ziyaret edebiliriz.
Resim-9
Bu yazımızda .Net CORE CLI ile temel komutları tablolar üzerinden incelemiş olduk ve yeni bir projenin komut satırı ile ne şekilde oluşturulabildiğini gördük.
Bu konuyla ilgili sorularınızı alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.
Referanslar
https://docs.microsoft.com/tr-tr/
TAGS : .NET Core,.NET Core Nedir,.Net Core CLI ve Temel Komutlar