a

ABLY مقالات و مطالب مجموعه

آموزش NET CORE. (انواع برنامه ها)

آموزش NET CORE. (انواع برنامه ها)

ما در این مقاله آموزش net core. را همراه با انواع برنامه ها ی مورد استفاده در آن به شما آموزش خواهیم داد. با ما همراه باشید.

education asp.net core 2.0

بسم الله الرحمن الرحیم

آموزش برنامه نویسی

آموزش NET CORE. 

--------------------------------------------------------------------

در این مقاله به مطالب زیر می پردازیم:

  1. انواع برنامه ها در .NET CORE
  2. انواع Framworkها در .NET CORE
  3. چگونگی به اشتراک گذاشتن کدها

قبل از خواندن این مقاله می توانید ابتدا مطالب مربوط را بخوانید:

  1. آموزش ASP.NET CORE 2.0
  2. ساختار پروژه ASP.NET CORE
  3. آموزش ASP.NET CORE (پوشه wwwroot )
  4. آموزش Program.cs) .NET CORE و Startup.cs)

انواع برنامه ها در .NET CORE

ما در .NET CORE دو نوع برنامه داریم:

  • Portable Application (برنامه های قابل حمل)
  • Self-Contained Application (برنامه های مستقل)

 

Portable Application

برنامه های قابل حمل، برنامه های کاربردی هستند که با وجود .NET CORE قابل اجرا شدن هستند. اگر در هر صورت روی دستگاه های توسعه دهنده، .NET CORE نصب نباشد این برنامه ها اجرا نخواهند شد.

.net core protable application

Self-Contained Application

اما راجع به برنامه های مستقل می توان گفت که به طور مستقل اجرا می شوند و حتی اگر .NET CORE بر روی دستگاه نصب نشده باشد، قابلیت اجرا شدن را دارند.

selfcontained app

چگونه این برنامه ها را پیکربندی کنیم؟

برنامه های ASP.NET CORE (قابل حمل و یا مستقل) را می توانیم با استفاده از خصوصیت type در Microsoft.NET CORE.APP در Project.json پیکربندی کنیم. در کد زیر “type”: “platform” نشان میدهد که این برنامه انتظار دارد .NET CORE بر روی دستگاه نصب شده باشد. بنابراین از یک برنامه ی قابل حمل استفاده می کند.

configure app

برای برنامه های مستقل، Type-platform را حذف کنید. این باعث می شود خود برنامه مستقیماً و به طور مستقل اجرا شود.

انواع Framworkها در .NET CORE

در حال حاضر 3 نوع Framwork برای پلتفرم های مختلف در .NET CORE وجود دارد:

  • .NET Framworkهای قدیمی یا استاندارد برای ویندوز
  • Mono Framwork برای Ios
  • OSX، Android و .NET CORE برای ویندوز، مک، لینوکس

dotnet frameworks

این Framworkها از کتابخانه های مختلفی استفاده می کنند. به این معنی که کد نوشته شده در یک Framwork را نمی توان با Framworkهای دیگر استفاده کرد. بعنوان مثال برنامه کنسولی که با .NET Framwork توسعه یافته است نمی تواند در .NET CORE و یا VisaVersa اجرا شود. بنابراین، به اشتراک گذاری کد مجاز نیست.

بهتر این است که یکبار که کد را نوشتیم آن را با برنامه های دیگر خود با Framworkهای مختلف دات نت به اشتراک بگذاریم.

code sharing

برای حل این مسئله که چگونه کدهایمان را به اشتراک بگذاریم ما 3 روش به شما معرفی می کنیم:

  • ایجاد کتابخانه کلاس های قابل حمل
  • استفاده از چندین Framwork در ASP.NET CORE
  • استفاده از .NET Standard

چگونگی به اشتراک گذاشتن کد با استفاده از چندین Framwork

برای اینکار بیایید برنامه کنسولی .NET CORE 2.0 که با .NET CORE و .NET Framwork اجرا می شود را ایجاد کنیم:

در ابتدا ویژوال استودیو را باز کنید، روی گزینه File کلیک کنید و New Project را انتخاب کنید. در پنجره ی باز شده

(.Net Core) Consol App را انتخاب، سپس نام را وارد کنید و ok بزنید.

create dotnet core 2 consol application

 

به این شکل یک پروژه کنسول ایجاد می کنید

console app

 

اکنون می توانیم با ویرایش فایل .CsProj برنامه را با چندین Framwork پیکربندی کنیم. بنابراین در قسمت Solution Explore روی اسم پروژه کلیک راست کنید و گزینه ای را که در عکس مشخص است را انتخاب کنید

edit csproj

.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 های پشتیبانی شده است"

 

framworks

 

framwork support

در ادامه همانطور که شما فایل .CsProj را ذخیره می کنید، ویژوال استودیو نیز آن را بارگذاری (load) می کند و تمام منابع مربوط به NET 4.5 و NET 4.6 را مانند تصویر زیر نشان می دهد.

core2 multi frameworks

حال 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();
        }
    }
}








برای اجرا نیز بر روی لیست کشویی کلیک کنید و مانند تصویر زیر گزینه های مربوط را انتخاب کنید.

 

run multi framework app

حال برنامه را اجرا کنید و خروجی زیر را مشاهده کنید.

result run multi frameworks app

 

به این شکل شما می توانید کدها ی خود را به اشتراک بگذارید و در Framwork های مختلف از آنها استفاده کنید.

"امیدواریم از این مقاله لذت کافی را برده باشید"

"مجموعه ABLY"

 

نظرات یا سوالات خودرا با ما درمیان بگذارید

0912 097 5516 :Phone Number
0713 625 1757 :Phone Number