بررسی انواع فریم ورک های ساخت وب اپلیکیشن با ASP.NET Core

بررسی انواع فریم ورک های ساخت وب اپلیکیشن با ASP.NET Core

در این پست از وبسایت پرووید، در رابطه با بررسی انواع فریم ورک های ساخت وب اپلیکیشن با ASP.NET Core صحبت خواهیم کرد. به ادامه ی مطلب بروید.

در این قسمت از سری آموزش کامل ASP.NET Core از وب سایت پرووید که به عنوان آخرین قسمت از این آموزش منتشر می شود در رابطه با Target کردن و یا هدف قرار دادن چندین فریم ورک برای ساخت برنامه ها با ASP.NET Core و به اشتراک گذاشتن کد صحبت می کنیم. همانطور که در قسمت قبل گفتیم ایجاد کردن یک اپلیکیشن با .NET Core که چندین فریم ورک مختلف را هدف قرار می دهد یکی از روشهای به اشتراک گذاشتن کد و یا همان Code Sharing می باشد.

بسته ی آموزش ویدئویی اصول برنامه نویسی در ASP.NET Core

از شما دعوت می کنیم که از بسته ی آموزش ویدئویی اصول برنامه نویسی در ASP.NET Core دیدن کنید.

به سادگی می توان یک اپلیکیشن را در .NET Core ایجاد کرد و چندین فریم ورک مختلف را به عنوان هدف قرار داد تا برنامه بتواند بر روی تمامی آن فریم ورکها اجرا بشود. برای نشان دادن این موضوع در قالب یک مثال یک Console Application با .NET Core 2.0 اینجاد می کنیم. این Console Application باید بتواند هم بر روی .NET Core و هم بر روی .NET Framework سنتی اجرا بشود. این اتفاق در Visual Studio 2017 رقم می خورد.

اولین مرحله ایجاد کردن یک پروژه جدید در Visual Studio 2017 می باشد. برای انجام اینکار از منوی فایل گزینۀ New Project را انتخاب کنید و پس از آن شبیه به تصویر زیر یک Console Application (.NET Core) را ایجاد کنید.

علاوه بر این یک نام مناسب را برای این پروژه در نظر بگیرید و سپس بر روی Ok کلیک کنید. این موضوع باعث می شود که یک Console Application جدید شبیه به تصویر زیر برای شما ساخته بشود.

حال به منظور پیکر بندی چندین فریم ورک باید فایل .csproj که همان فایل پروژه می باشد را ویرایش کنیم. به منظور انجام این کار بر روی این فایل راست کلیک کرده و سپس گزینه Edit را شبیه به تصویر زیر انتخاب کنید.

محتویات فایل .csproj شبیه به کد زیر خواهد بود.

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp2.0</TargetFramework>
  </PropertyGroup>

</Project>

همانطور که در کد بالا مشاهده می کنید Target Framework بر روی مقدار netcoreapp2.0 تنظیم شده است. این قضیه به این معنی است که در حال حاضر برنامه ما می تواند بر روی .NET Core 2.0 اجرا بشود. حال می توانیم به راحتی فریم ورکهای مختلفی را به عنوان Target و یا هدف برنامه تنظیم کنیم. به منظور انجام اینکار در ابتدا کلمه Target Framework را بصورت جمع قرار بدهید. در زبان انگلیسی با اضافه کردن S در پایان کلمات می توان یک کلمه را جمع بست. پس باید در ابتدا Target Framework به Target Frameworks تبدیل بشود و پس از آن می توانید هر کدام از فریم ورکهای مورد نظرتان را اضافه کرده و آنها را با ; از هم جدا کنیم.

بسته ی آموزش ویدئویی شروع به کار با ASP.NET Core و SignalR

از شما دعوت می کنیم که از بسته ی آموزش ویدئویی شروع به کار با ASP.NET Core و SignalR دیدن کنید.

در این مثال ما قصد داریم دو فریم ورک دیگر یعنی .NET Framework 4.0 و .NET Framework 4.6 را هم پشتیبانی کنیم. بنابراین net40 و net46 را به Target Framework اضافه می کنیم. این موضوع در کد زیر نشان داده شده است.

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFrameworks>netcoreapp2.0;net45;net46</TargetFrameworks>
  </PropertyGroup>

</Project>

به محض ویرایش فایل csproj و سپس ذخیره کرده آن، Visual Studio بصورت خودکار تمامی Reference های مربوط به .NET Framework 4.5 و .NET Framework 4.6 را به قسمت dependencies از پروژه اضافه می کند. این موضوع در تصویر زیر نشان داده شده است.

حال فایل program.cs را باز کنید و کدهای مربوط به یک فریم ورک خاص که اصطلاحاً به آن Framework-specific Code نیز می گویند را با پیش پردازنده های شرطی از قبیل #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();
        }
    }
}

کلمۀ پیش پردازنده در زبان انگلیسی Preprocessor است که توصیه می کنیم حتماً آن را به عنوان یک کلمه ی فنی یاد بگیرید. ضمناً از آموزش کامل توسعه نرم افزار با سی شارپ برای درک هر چه بهتر ماهیت پیش پردازنده ها استفاده کنید. علاوه بر این، کد زیر محتویات فایل program.cs را نشان می دهد. همانطور که در کد بالا مشاهده می کنید به منظور نوشتن کدهای خاص یک فریم ورک و یا اصطلاحاً Framework-specific Code علامت نقطه را با علامت _ و یا Underscore جابجا کرده ایم و تمامی حروف کوچک را به حروف بزرگ تبدیل کرده ایم. به منظور اجرا کردن برنامه برای یک فریم ورک خاص ابتدا از Toolbar ویژوال استودیو فریم ورک مورد نظرتان را انتخاب کنید. این موضوع در تصویر زیر نشان داده شده است.

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

بررسی Reference های خاص یک فریم ورک

گاهی ممکن است که بخواهید که برای یک فریم ورک خاص Reference هایی را اضافه کنید. برای مثال در .NET Core 2.0 یک Meta Package وجود دارد که حاوی یک Reference به System.Net می باشد. اما این موضوع در .NET Framework 4.0 و .NET Framework 4.5 اتفاق نیافتاده است. بنابراین می توانیم در فایل csproj رفرنسهایی را بصورت شرطی شبیه به کد زیر اضافه کنیم.

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFrameworks>netcoreapp2.0;net45;net46</TargetFrameworks>
  </PropertyGroup>

<ItemGroup Condition=" '$(TargetFramework)' == 'net40' ">
    <Reference Include="System.Net" />
  </ItemGroup>
  <ItemGroup Condition=" '$(TargetFramework)' == 'net45' ">
    <Reference Include="System.Net" />
  </ItemGroup>

</Project>

حال رفرنسی به System.Net برای .NET Framework 4.0 و .NET Framework 4.5 اضافه خواهد شد. علاوه بر این، کد خاص مربوط به System.Net برای تمامی فریم ورکها اجرا خواهد شد.

امیدواریم که این آموزش از وبسایت پرووید نیز مورد توجه تمامی دوستان عزیز قرار گرفته باشد. از شما دعوت می‌کنیم که از دیگر آموزش های ما در رابطه با فریم ورک ASP.NET Core استفاده کنید. لیست کامل این آموزش ها را می توانید در پست مربوط به آموزش کامل توسعه وب اپلیکیشن با ASP.NET Core مشاهده کنید.

مرتضی گیتی
بدون نظر

ارسال نظر

نظر
نام
ایمیل
وب سایت