آموزش NET CORE. (انواع برنامه ها)
ما در این مقاله آموزش net core. را همراه با انواع برنامه ها ی مورد استفاده در آن به شما آموزش خواهیم داد. با ما همراه باشید.
بسم الله الرحمن الرحیم
آموزش برنامه نویسی
آموزش NET CORE.
--------------------------------------------------------------------
در این مقاله به مطالب زیر می پردازیم:
- انواع برنامه ها در .NET CORE
- انواع Framworkها در .NET CORE
- چگونگی به اشتراک گذاشتن کدها
قبل از خواندن این مقاله می توانید ابتدا مطالب مربوط را بخوانید:
- آموزش ASP.NET CORE 2.0
- ساختار پروژه ASP.NET CORE
- آموزش ASP.NET CORE (پوشه wwwroot )
- آموزش Program.cs) .NET CORE و Startup.cs)
انواع برنامه ها در .NET CORE
ما در .NET CORE دو نوع برنامه داریم:
- Portable Application (برنامه های قابل حمل)
- Self-Contained Application (برنامه های مستقل)
Portable Application
برنامه های قابل حمل، برنامه های کاربردی هستند که با وجود .NET CORE قابل اجرا شدن هستند. اگر در هر صورت روی دستگاه های توسعه دهنده، .NET CORE نصب نباشد این برنامه ها اجرا نخواهند شد.
Self-Contained Application
اما راجع به برنامه های مستقل می توان گفت که به طور مستقل اجرا می شوند و حتی اگر .NET CORE بر روی دستگاه نصب نشده باشد، قابلیت اجرا شدن را دارند.
چگونه این برنامه ها را پیکربندی کنیم؟
برنامه های ASP.NET CORE (قابل حمل و یا مستقل) را می توانیم با استفاده از خصوصیت type در Microsoft.NET CORE.APP در Project.json پیکربندی کنیم. در کد زیر “type”: “platform” نشان میدهد که این برنامه انتظار دارد .NET CORE بر روی دستگاه نصب شده باشد. بنابراین از یک برنامه ی قابل حمل استفاده می کند.
برای برنامه های مستقل، Type-platform را حذف کنید. این باعث می شود خود برنامه مستقیماً و به طور مستقل اجرا شود.
انواع Framworkها در .NET CORE
در حال حاضر 3 نوع Framwork برای پلتفرم های مختلف در .NET CORE وجود دارد:
- .NET Framworkهای قدیمی یا استاندارد برای ویندوز
- Mono Framwork برای Ios
- OSX، Android و .NET CORE برای ویندوز، مک، لینوکس
این Framworkها از کتابخانه های مختلفی استفاده می کنند. به این معنی که کد نوشته شده در یک Framwork را نمی توان با Framworkهای دیگر استفاده کرد. بعنوان مثال برنامه کنسولی که با .NET Framwork توسعه یافته است نمی تواند در .NET CORE و یا VisaVersa اجرا شود. بنابراین، به اشتراک گذاری کد مجاز نیست.
بهتر این است که یکبار که کد را نوشتیم آن را با برنامه های دیگر خود با Framworkهای مختلف دات نت به اشتراک بگذاریم.
برای حل این مسئله که چگونه کدهایمان را به اشتراک بگذاریم ما 3 روش به شما معرفی می کنیم:
- ایجاد کتابخانه کلاس های قابل حمل
- استفاده از چندین Framwork در ASP.NET CORE
- استفاده از .NET Standard
چگونگی به اشتراک گذاشتن کد با استفاده از چندین Framwork
برای اینکار بیایید برنامه کنسولی .NET CORE 2.0 که با .NET CORE و .NET Framwork اجرا می شود را ایجاد کنیم:
در ابتدا ویژوال استودیو را باز کنید، روی گزینه File کلیک کنید و New Project را انتخاب کنید. در پنجره ی باز شده
(.Net Core) Consol App را انتخاب، سپس نام را وارد کنید و ok بزنید.
به این شکل یک پروژه کنسول ایجاد می کنید
اکنون می توانیم با ویرایش فایل .CsProj برنامه را با چندین Framwork پیکربندی کنیم. بنابراین در قسمت Solution Explore روی اسم پروژه کلیک راست کنید و گزینه ای را که در عکس مشخص است را انتخاب کنید
.CsProj شبیه کد زیر است:
< project propertygroup="" sdk=""Microsoft.NET.Sdk">
Exe
netcoreapp2.0;net45;net46
< /project>
<TargetFramwork>netcoreapp 2.0 در کد بالا به این معنی است که در حال حاضر برنامه می تواند بر روی .NET CORE 2.0 Framwork اجرا شود.
اگر به جای استفاده از یک Framwork بخواهید از چندین Framwork استفاده کنید، <TargetFramwork> را به <TargetFramworks> تغییر دهید. Framwork ها را با علامت ; (سمی کولن) از هم جدا می کنیم.
در اینجا از دو نوع Framwork دیگر یعنی .NET Framwork 4.0 و 4.6 پشتیبانی می شود.
Exe
netcoreapp2.0;net45;net46
"تصویر زیر برای اطلاعات بیشتر شما از Framwork های پشتیبانی شده است"
در ادامه همانطور که شما فایل .CsProj را ذخیره می کنید، ویژوال استودیو نیز آن را بارگذاری (load) می کند و تمام منابع مربوط به NET 4.5 و NET 4.6 را مانند تصویر زیر نشان می دهد.
حال Program.cs را باز کنید و کدهای مخصوص Framworkها را با استفاده از #if و #elif اضافه کنیم.
using System;
namespace MultiFrameworkConsole
{
public class Program
{
public static void Main(string[] args)
{
#if NET40
Console.WriteLine("Target framework: .NET Framework 4.0");
#elif NET45
Console.WriteLine("Target framework: .NET Framework 4.5");
#else
Console.WriteLine("Target framework: .NET Core 2.0");
#endif
Console.ReadKey();
}
}
}
برای اجرا نیز بر روی لیست کشویی کلیک کنید و مانند تصویر زیر گزینه های مربوط را انتخاب کنید.
حال برنامه را اجرا کنید و خروجی زیر را مشاهده کنید.
به این شکل شما می توانید کدها ی خود را به اشتراک بگذارید و در Framwork های مختلف از آنها استفاده کنید.
"امیدواریم از این مقاله لذت کافی را برده باشید"
"مجموعه ABLY"