خط فرمان دات نت یا dotnet cli ابزاری است که توسط مایکروسافت به همراه .net core معرفی شد. این ابزار امکاناتی از قبیل ایجاد پروژه های جدید، build کردن و اجرای پروژ ها را در اختیار توسعه دهندگان قرار میدهد. نکته دیگه ای که باید ذکر کنیم این هست که این ابزار فقط مختص سیستم عامل ویندوز نیست و شما با نصب .net sdk در سایر پلتفرم ها مثل لینوکس به dotnet cli دسترسی خواهید داشت. در این مطلب با برخی از ویژگی های dotnet cli آشنا خواهیم شد.
برای استفاده از این دستور می توانید از محیط command prompt یا powershell استفاده کنید. اگر از ویندوز 11 استفاده می کنید در windows terminal هم این دستور قابل استفاده هست. در برنامه vs code از پنجره terminal می تونید به دستور dotnet دسترسی داشته باشید.
برای استفاده از dotnet cli باید dotnet core sdk رو از این لینک دانلود و نصب کنید.
در ابتدا برای اینکه مطمئن بشیم دستور dotnet به درستی کار می کنه در خط فرمان دستور زیر رو بنویسید:
> dotnet --version
6.0.100
دستور بالا نسخه جاری .net core که بر روی سیستم نصب هست رو نمایش میده و می تونیم مطمئن بشیم که دستور dotnet بدون مشکل کار می کنه
برای ایجاد یک solution جدید، پروژه های جدید یا آیتم های جدید داخل پروژه میتونیم از دستور dotnet new استفاده کنیم. برای مثال، فرض کنید قصد دارید یک پروژه جدید با نام HelloTosinso ایجاد کنیم. ابتدا یک پوشه برای پروژه ایجاد می کنیم:
> md HelloTosinso
> cd .\HelloTosinso\
> dotnet new console
The template "Console App" was created successfully.
Processing post-creation actions...
Running 'dotnet restore' on D:\CourseProjects\HelloTosinso\HelloTosinso.csproj...
Determining projects to restore...
Restored D:\CourseProjects\HelloTosinso\HelloTosinso.csproj (in 133 ms).
Restore succeeded.
با اجرای دستور بالا پروژه برای ما ایجاد شد و فایل های زیر داخل پوشه HelloTosinso برای ما ایجاد می شوند:
> dir
Directory: D:\CourseProjects\HelloTosinso
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 12/19/2021 9:35 AM obj
-a---- 12/19/2021 9:35 AM 249 HelloTosinso.csproj
-a---- 12/19/2021 9:35 AM 105 Program.cs
همانطور که در بالا مشاهده کردید ما یک پروژه نوع Console ایجاد کردیم و این کار بوسیله قرار دادن عنوان console جلوی دستور dotnet new انجام شد. بوسیله دستور dotnet انواع پروژه های مختلفی را می توان ایجاد کرد. برای مشاهده لیست پروژه های قابل ایجاد از دستور زیر استفاده کنید:
> dotnet new --list
These templates matched your input:
Template Name Short Name Language Tags
-------------------------------------------- ------------------- ---------- --------------------------
ASP.NET Core Empty web [C#],F# Web/Empty
ASP.NET Core gRPC Service grpc [C#] Web/gRPC
ASP.NET Core Web API webapi [C#],F# Web/WebAPI
ASP.NET Core Web App webapp,razor [C#] Web/MVC/Razor Pages
ASP.NET Core Web App (Model-View-Controller) mvc [C#],F# Web/MVC
ASP.NET Core with Angular angular [C#] Web/MVC/SPA
ASP.NET Core with React.js react [C#] Web/MVC/SPA
ASP.NET Core with React.js and Redux reactredux [C#] Web/MVC/SPA
Blazor Server App blazorserver [C#] Web/Blazor
Blazor WebAssembly App blazorwasm [C#] Web/Blazor/WebAssembly/PWA
Class Library classlib [C#],F#,VB Common/Library
Console App console [C#],F#,VB Common/Console
.
.
.
بوسیله آرگومان output میتونیم عنوان پوشه برای ایجاد پروژه رو مشخص کنیم. در بخش قبلی ما ابتدا یک پوشه با نام HelloTosinso ایجاد کردیم و داخلش پروژه رو new کردیم. بوسیله دستور زیر عملیات ساخت پوشه HelloTosinso در هنگام ساخت پروژه انجام میشه:
> dotnet new console --output HelloTosinso
زبان پیش فرض در زمان ساخت ایجاد پروژه زبان سی شارپ هست، اما بوسیله سوئیچ lang می تونیم زبان رو مشخص کنیم:
> dotnet new console -lang "VB" --output VBConsoleApp
دستور بالا یک پروژه از نوع console و به زبان Visual Basic ایجاد خواهد کرد.
بعد از ایجاد یک پروژه، بوسیله دستور dotnet run می تونیم به راحتی پروژه مورد نظر رو اجرا کنیم، وارد پوشه HelloTosinso که در مرحله قبل ایجاد کردیم شده و دستور زیر رو اجرا می کنیم:
> dotnet run
Hello, World!
همونطور که مشاهده کردید خروجی Hello, World نمایش داده شد. اگر فایل program.cs رو باز کنید محتویات زیر رو خواهید دید (این محتویات بر اساس نسخه dotnet که استفاده می کنید ممکنه فرق داشته باشه):
// See https://aka.ms/new-console-template for more information
Console.WriteLine("Hello, World!");
محتویات فایل رو به صورت زیر تغییر بدید:
// See https://aka.ms/new-console-template for more information
Console.WriteLine("Hello, Welcome to TOSINSO.COM");
مجدد دستور dotnet run رو اجرا کنید:
> dotnet run
Hello, Welcome to TOSINSO.COM
برای مثال بعدی یک پروژه ساده از نوع mvc ایجاد می کنیم:
> dotnet new mvc --output TosinsoWebsite
The template "ASP.NET Core Web App (Model-View-Controller)" was created successfully.
This template contains technologies from parties other than Microsoft, see https://aka.ms/aspnetcore/6.0-third-party-notices for details.
Processing post-creation actions...
Running 'dotnet restore' on D:\CourseProjects\TosinsoWebsite\TosinsoWebsite.csproj...
Determining projects to restore...
Restored D:\CourseProjects\TosinsoWebsite\TosinsoWebsite.csproj (in 88 ms).
Restore succeeded.
وارد پوشه TosinsoWebsite شده و دستور dotnet run رو اجرا می کنیم:
> dotnet run
Building...
info: Microsoft.Hosting.Lifetime[14]
Now listening on: https://localhost:7031
info: Microsoft.Hosting.Lifetime[14]
Now listening on: http://localhost:5169
info: Microsoft.Hosting.Lifetime[0]
Application started. Press Ctrl+C to shut down.
info: Microsoft.Hosting.Lifetime[0]
Hosting environment: Development
info: Microsoft.Hosting.Lifetime[0]
Content root path: D:\CourseProjects\TosinsoWebsite\
داخل مرورگر آدرس https://localhost:7031 رو باز کنید، همونطور که مشاهده می کنید به سادگی یک پروژه از نوع ASP.NET Core مبتنی بر MVC ایجاد و اجرا کردیم.
تا اینجا ما پروژه های ساده ای ایجاد کردیم، اما فرض کنیم بخواییم یک Solution به همراه چند پروژه داشته باشیم. در ابتدا یک Solution ایجاد می کنیم:
> dotnet new sln --output ShopSolution
The template "Solution File" was created successfully.
وارد پوشه ShopSolution شده و دستورات زیر رو به ترتیب اجرا می کنیم:
> dotnet new mvc --name "ShopSolution.Client" --output "ShopSolution.Client"
> dotnet new webapi --name "ShopSolution.Api" --output "ShopSolution.Api"
> dotnet sln add .\ShopSolution.Api\ShopSolution.Api.csproj
> dotnet sln add .\ShopSolution.Client\ShopSolution.Client.csproj
با اجرای دستورات بالا دو پروژه یکی از نوع mvc و یکی از نوع webapi ایجاد کرده و آن ها رو به solution اضافه می کنیم.
برای build کردن solution کافیه دستور زیر رو اجرا کنیم:
> dotnet build
همچنین برای build کردن یک پروژه می تونیم از دستور زیر استفاده کنیم:
> dotnet build .\ShopSolution.Client\ShopSolution.Client.csproj
همچنین برای اجرای یکی از پروژه ها از دستور زیر استفاده می کنیم:
> dotnet run --project .\ShopSolution.Client\ShopSolution.Client.csproj
برای اضافه کردن پکیج های nugget به پروژه، از دستور زیر استفاده می کنیم:
>dotnet add package <PackageName>
برای مثال، فرض کنیم قصد داریم پکیج dapper رو به پروژه webapi که در ShopSolution ایجاد کردیم، اضافه کنیم. بوسیله دستور زیر اینکار رو انجام میدیم:
> dotnet add .\ShopSolution.Api\ShopSolution.Api.csproj package dapper
Determining projects to restore...
Writing C:\Users\Hossein Ahmadi\AppData\Local\Temp\tmpC81D.tmp
info : Adding PackageReference for package 'dapper' into project '.\ShopSolution.Api\ShopSolution.Api.csproj'.
info : GET https://api.nuget.org/v3/registration5-gz-semver2/dapper/index.json
info : OK https://api.nuget.org/v3/registration5-gz-semver2/dapper/index.json 1553ms
info : Restoring packages for D:\CourseProjects\ShopSolution\ShopSolution.Api\ShopSolution.Api.csproj...
info : GET https://api.nuget.org/v3-flatcontainer/dapper/index.json
info : OK https://api.nuget.org/v3-flatcontainer/dapper/index.json 1061ms
info : GET https://api.nuget.org/v3-flatcontainer/dapper/2.0.123/dapper.2.0.123.nupkg
info : OK https://api.nuget.org/v3-flatcontainer/dapper/2.0.123/dapper.2.0.123.nupkg 215ms
info : Installed Dapper 2.0.123 from https://api.nuget.org/v3/index.json with content hash RDFF4rBLLmbpi6pwkY7q/M6UXHRJEOerplDGE5jwEkP/JGJnBauAClYavNKJPW1yOTWRPIyfj4is3EaJxQXILQ==.
info : Package 'dapper' is compatible with all the specified frameworks in project '.\ShopSolution.Api\ShopSolution.Api.csproj'.
info : PackageReference for package 'dapper' version '2.0.123' added to file 'D:\CourseProjects\ShopSolution\ShopSolution.Api\ShopSolution.Api.csproj'.
info : Committing restore...
info : Writing assets file to disk. Path: D:\CourseProjects\ShopSolution\ShopSolution.Api\obj\project.assets.json
log : Restored D:\CourseProjects\ShopSolution\ShopSolution.Api\ShopSolution.Api.csproj (in 3.52 sec).
یکی از دستورات کاربردی دیگر، restore هست که تمامی وابستگی ها و پکیج پروژه ها پروژه ها رو بازگردانی (معنی فارسی restore) میکنه:
> dotnet restore
در این مطلب با مهمترین بخش های دستور dotnet آشنا شدیم. برای آشنایی بیشتر می تونید به این صفحه از سایت msdn مراجعه کنید و مستندات جامع در باره این دستور رو مطالعه کنید. امیدوارم این مطلب مورد استفادتون قرار گرفته باشه.
بنیانگذار توسینسو و برنامه نویس و توسعه دهنده ارشد وب
حسین احمدی ، بنیانگذار TOSINSO ، توسعه دهنده وب و برنامه نویس ، بیش از 12 سال سابقه فعالیت حرفه ای در سطح کلان ، مشاور ، مدیر پروژه و مدرس نهادهای مالی و اعتباری ، تخصص در پلتفرم دات نت و زبان سی شارپ ، طراحی و توسعه وب ، امنیت نرم افزار ، تحلیل سیستم های اطلاعاتی و داده کاوی ...
زمان پاسخ گویی روز های شنبه الی چهارشنبه ساعت 9 الی 18
فقط به موضوعات مربوط به محصولات آموزشی و فروش پاسخ داده می شود