مفهوم «ابزارها» و یا «project tools» از نگارش اول NET Core. به همراه آن است؛ مانند تنظیم زیر در فایل csproj برنامهها: <ItemGroup>
<DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.0" />
</ItemGroup>
که سبب فعالسازی ابزار dotnet ef میشود و توسط آن میتوان دستورات dotnet ef database update و یا dotnet ef migrations add را بر روی پروژهی جاری اجرا کرد. در این حا ...
ایجاد Model از روی Database موجود در EF Core
در بسیاری اوقات ممکن است تیم تحلیل دیتابیس، از توسعه اپلیکیشن جدا شده باشد تا مراحل نرمال سازی و تست بهره وری اجرای کوئریها، بهصورت جداگانهای از توسعهی برنامه انجام شود؛ یا ممکن است دیتابیس یک برنامهی از پیش موجود، برای نگهداری و مهندسی مجدد به شما سپرده شود. سناریو هر چه باشد، جهت سرعت بخشیدن به توسعهی نرم افزار میتوان از Entity Framework Core جهت ایجاد ...
یکی از مواردی که به همراه NET Core 1.x. وجود دارد، کمبود کتابخانههای ثالث مخصوص آن است. برای مثال کتابخانهی log4net در اوایل ارائهی NET Core. نگارش مخصوص به آنرا نداشت (البته هم اکنون دارد). باید درنظر داشت، این مورد صرفا در حالت توزیع چندسکویی برنامههای مبتنی بر NET Core. مشکل ایجاد میکرد. از این جهت که میتوان full .NET framework را به عنوان Target Framework برنامههای NET Core. معرفی کرد و در این حالت برنامه بدون هیچگونه مشکلی تنه ...
یکی از مهمترین تغییرات ASP.NET Core 2.0، نسبت به نگارشهای قبلی آن، ارائهی یک «متا پکیج» جدید به نام Microsoft.AspNetCore.All است. این بسته به همراه تمام وابستگیهای مورد نیاز جهت توسعهی برنامههای ASP.NET Core 2.0 است؛ این «تمام» شامل تمام بستههای Razor، بستههای MVC، بستههای EF Core و غیره است. به این ترتیب به روز رسانی بستههای وابستهی به هم، بسیار ساده خواهد شد و همچنین به فایلهای csproj بسیار خلوت و قابل مدیریتی، خواهیم رسید ...
در مطلب « امکان ساخت قالب برای پروژههای NET Core. » با مقدمات تبدیل یک پروژهی سفارشی سازی شده، به یک قالب ایجاد پروژههای جدید NET Core. آشنا شدیم. اگر علاقمند باشید میتوانید قالبهای خود را به صورت بستههای نیوگت نیز با دیگران به اشتراک بگذارید. برای نمونه تمام قالبهایی را که توسط دستور dotnet new قابل نصب هستند، میتوانید در مسیر ذیل، در سیستم خود پیدا کنید: %userprofile%\.templateengine\dotnetcli
و یا قالبی ...
یکی از قابلیتهای ابزار خط فرمان dotnet، امکان تبدیل یک پروژهی سفارشی سازی شده، به یک قالب نصب پروژههای جدید بر مبنای آن است. برای مثال فرض کنید میخواهیم پروژهی DNTIdentity را تبدیل به یک قالب جدید کنیم تا به سادگی بتوان پروژههای جدید را بر مبنای آن ایجاد کرد.
ساخت پوشهی مخصوص template.config.
اولین قدم جهت تبدیل یک پروژهی از پیش موجود، به قالبی جدید، افزودن پوشهی ویژهای به نام template.config. به ...
فرض کنید قصد دارید یک قطعه کد پیشین تغییر Encoding از ویندوز عربی، به یونیکد را که در Full .NET Framework به خوبی کار میکند، در NET Core. اجرا کنید: var path = @"D:\file1.srt";
var data = System.IO.File.ReadAllText(path, Encoding.GetEncoding("windows-1256"));
System.IO.File.WriteAllText(path, data, Encoding.UTF8);
به محض اجرای این قطعه کد، استثنای ذیل را دریافت خواهید کرد: System.ArgumentException: 'windows-1256' is not ...
یکی از مزایای جالب فریمورک NET Core. امکان پابلیش کردن اپلیکیشنها به صورت Self-contained یا متکی به خود است. به این نوع توزیع (Self-Contained Deployment (SCD گفته میشود. در واقع منظور این است که بر روی سیستم مقصد، نیازی به نصب runtime خاصی نیست. بلکه کافی است اپلیکیشنتان را بر روی سیستم مقصد کپی کرده و آن را اجرا کنید. سیستمعامل مقصد نیز میتواند Windows, OSX و یا Linux باشد. در واقع در حین پابلیش اپلیکیشنهای Self-contained، کل ران ...
API کار با امکانات Reflection نیز در NET Core. نسبت به نگارش کامل دات نت، دارای تغییراتی است که در ادامه مهمترینهای آنها را بررسی خواهیم کرد.
پیشنیازهای کار با Reflection در NET Core.
ابتدا نیاز است اسمبلی System.Reflection به قسمت وابستگیهای فایل project.json اضافه شود: "dependencies": {
"System.Reflection": "4.3.0"
},
البته اگر وابستگی دیگری در فایل project.json، این وابستگی را پیشتر مورد است ...
نگارش پایدار NET Core 1.1. روز قبل منتشر شد. در ادامه نحوهی ارتقاء پروژههای نگارش 1.0 RTM را به این نگارش بررسی خواهیم کرد.
دریافت نصاب NET Core 1.1.
برای این منظور به آدرس https://www.microsoft.com/net/download/core مراجعه کرده و فایل NET Core 1.1 SDK - Installer. را دریافت و نصب کنید. برای ظاهر شدن این گزینه باید حالت Current را بجای LTS (Long Term Support) انتخاب کرد:
همچنین در اینجا بست ...