نظرات مطالب
آزمایش Web APIs توسط Postman - قسمت ششم - اعتبارسنجی مبتنی بر JWT
آن پروژه برای NET Core 2.2. تنظیم شده. احتمالا پروژه را به نگارش 3 ارتقاء دادید که خطای زیر را دریافت کردید:
The collection type 'Newtonsoft.Json.Linq.JToken' is not supported
علت آن‌را در مطلب «معرفی System.Text.Json در NET Core 3.0.» و قسمت «روش بازگشت به Json.NET در ASP.NET Core 3x» آن، مطالعه کنید.
نظرات مطالب
توزیع پروژه‌های ASP.NET Core 1.1 بدون ارائه فایل‌های View آن
ارتقاء به ASP.NET Core 3.0
در نگارش 3 دیگر از بسته‌ی Microsoft.AspNetCore.Mvc.Razor.ViewCompilation پشتیبانی نمی‌شود. در اینجا برای برخورداری از مزایای پیش‌کامپایل فایل‌های razor، پروژه‌های وب باید از SDK زیر
<Project SDK="Microsoft.NET.Sdk.Web">
  ...
</Project>
و پروژه‌های class library از SDK زیر استفاده کنند (و نیازی به تنظیم بیشتری نخواهند داشت):
<Project SDK="Microsoft.NET.Sdk.Razor">
  ...
</Project>
نظرات مطالب
ساخت ActionResult سفارشی
ارتقاء به ASP.NET Core 3.0

در ASP.NET Core نیز نکات کلی نوشتن ActionResult‌ها برقرار است. فقط پیشتر اگر قطعه کد زیر در متد ExecuteResult نگارش 2.2 کار می‌کرد:
Response.Body.Write
اکنون در نگارش 3x این استثناء را صادر می‌کند:
System.InvalidOperationException: Synchronous operations are disallowed. Call WriteAsync or set AllowSynchronousIO to true instead.
راه حل صحیح رفع این مشکل، استفاده از متد ExecuteResultAsync بجای نمونه‌ی قبلی است و استفاده از متد response.Body.WriteAsync، بجای response.Body.Write منسوخ شده‌ی در نگارش 3x.
نظرات مطالب
ارتقاء به ASP.NET Core 1.0 - قسمت 22 - توزیع برنامه توسط IIS
ارتقاء به ASP.NET Core 3.0

اگر در تنظیمات web.config خود، سطر زیر را در مورد تنظیم AspNetCoreModule دارید:
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
و یا در تنظیمات فایل csproj خود، ماژول نگارش 1 درج شده‌است:
<AspNetCoreModuleName>AspNetCoreModule</AspNetCoreModuleName>
برنامه‌ی شما اجرا نخواهد شد. ماژول نگارش 1 از بسته‌ی هاستینگ برنامه‌های ASP.NET Core 3.0 حذف شده‌است و باید از نگارش 2 استفاده کنید:
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified"/>
نظرات مطالب
شروع به کار با AngularJS 2.0 و TypeScript - قسمت نهم - مسیریابی
نکات ارتقاء به نگارش RC5
در نگارش RC5، فرمت فایل app.routes.ts که در نگارش RC4 معرفی شد، اندکی تغییر کرده‌است.
ابتدای فایل به این شکل:
// - Routes instead of RouteConfig
// - RouterModule instead of provideRoutes
import { Routes, RouterModule } from '@angular/router';
و انتهای آن نیز به این شکل تغییر پیدا می‌کند:
// - Updated Export
export const routing = RouterModule.forRoot(routes);
پس از آن، این تعاریف، با توجه به ساده شدن فایل main.ts، به قسمت imports فایل app.module.ts منتقل و معرفی می‌شوند.
به علاوه در قسمت‌های مختلف برنامه مواردی مانند ROUTER_DIRECTIVES, ROUTER_PROVIDERS, HTTP_PROVIDERS را یافته و حذف کنید. این‌ها نیز به فایل app.module.ts و قسمت imports آن منتقل شده‌اند.
نظرات مطالب
آغاز به کار با Twitter Bootstrap در ASP.NET MVC
مطلب جاری و سری مرتبط با آن برای بوت استرپ 2 نوشته شد. امروز اگر دستور install-Package Twitter.BootstrapRTL را صادر کنید، بوت استرپ 3.1 را نصب می‌کند که سیستم آن در بسیاری از موارد 180 درجه دگرگون شده نسبت به نگارش 2.
بنابراین برای کار با نگارش 2 بهتر است دستور زیر را صادر کنید:
PM> Install-Package Twitter.BootstrapRTL -Version 2.3.2.1
و یا از مطالب ارتقاء به بوت استرپ 3 کمک بگیرید.
ضمنا فایل‌های مرتبط با نگارش 2، در قسمت‌های بعدی همین سری، در نظرات هر قسمت پیوست شده‌اند.
نظرات مطالب
غنی سازی کامپایلر C# 9.0 با افزونه‌ها
یک نکته‌ی تکمیلی: ارتقاء به NET 7.0.12. و دریافت خطای CA1852

اگر نکات این مطلب را پیاده سازی کرده و برای مثال TreatWarningsAsErrors را فعال کرده باشید، با ارتقاء به NET 7.0.102. حتی در مورد فایل Program.cs نیز خطای زیر را دریافت خواهید کرد:
CA1852:  Type can be sealed because it has no subtypes in its containing assembly and is not externally visible
عموما از هر نگارشی به نگارش دیگر، تعداد آنالایزرهای توکار دات نت بیشتر می‌شوند. یک چنین موردی در نگارش ابتدایی دات نت 7 وجود نداشت، اما الان قابل مشاهده است. در جهت مواجه شدن با آن یا می‌توان کلاس عنوان شده را با واژه‌ی کلیدی sealed مزین کرد و یا فقط کافی است فایل editorconfig. را باز کرده و یک سطر زیر را به آن اضافه کنید:
dotnet_diagnostic.CA1852.severity = suggestion
به این صورت میزان شدت گزارش یاد شده، صرفا به یک توصیه تقلیل پیدا می‌کند و مانع build برنامه نخواهد شد؛ هرچند در IDE هنوز به صورت یک هشدار آبی رنگ قابل مشاهده‌است.