۶ سال و ۱۱ ماه قبل، یکشنبه ۱۶ مهر ۱۳۹۶، ساعت ۰۰:۳۹
۶ سال و ۱۱ ماه قبل، پنجشنبه ۱۳ مهر ۱۳۹۶، ساعت ۲۲:۴۶
روش ارتقاء وهلهی پیش فرض MSSQLLocalDB به نگارشهای جدید آن
پس از نصب بستهی فوق اگر دستور ذیل را صادر کنید:
هنوز اطلاعات نگارش قبلی نصب شده (نگارش 2016) را نمایش میدهد:
برای ارتقاء به نگارش جدید نیاز است این مراحل طی شوند:
الف) حذف وهلهی موجود
ب) ایجاد مجدد وهلهی موجود
ج) بررسی نگارش نصب شده
که در اینجا نگارش 14.0.1000.169 به نگارش LocalDB 2017 RTM اشاره میکند.
پس از نصب بستهی فوق اگر دستور ذیل را صادر کنید:
C:\Program Files\Microsoft SQL Server\140\LocalDB\Binn>sqllocaldb info MSSQLLocalDB
Name: MSSQLLocalDB Version: 13.1.4202.2
برای ارتقاء به نگارش جدید نیاز است این مراحل طی شوند:
الف) حذف وهلهی موجود
C:\Program Files\Microsoft SQL Server\140\LocalDB\Binn>sqllocaldb delete MSSQLLocalDB LocalDB instance "MSSQLLocalDB" deleted.
C:\Program Files\Microsoft SQL Server\140\LocalDB\Binn>sqllocaldb create MSSQLLocalDB LocalDB instance "MSSQLLocalDB" created with version 14.0.1000.169.
C:\Program Files\Microsoft SQL Server\140\LocalDB\Binn>sqllocaldb info MSSQLLocalDB Name: MSSQLLocalDB Version: 14.0.1000.169
۶ سال و ۱۱ ماه قبل، سهشنبه ۱۱ مهر ۱۳۹۶، ساعت ۱۱:۵۸
۶ سال و ۱۱ ماه قبل، دوشنبه ۱۰ مهر ۱۳۹۶، ساعت ۱۲:۳۷
پروژه نهایی «اعمال تزریق وابستگیها به مثال رسمی ASP.NET Identity» شامل یک قالب پایه برای کار با EFCodeFirst6.x، MVC5.x، WebAPI2.x، Identity2.x و SignalR2.x هست.
۶ سال و ۱۱ ماه قبل، یکشنبه ۹ مهر ۱۳۹۶، ساعت ۱۸:۴۴
قصد دارید همین پروژه را در داخل پوشهای که دقیقا همان پروژه از پیش وجود دارد، مجددا ایجاد کنید. یک پوشهی جدید و خالی را در جایی ایجاد کنید (نه در داخل پوشهی پروژهای که از GitHub گرفتید) و سپس این دستور را در آنجا اجرا کنید.
۶ سال و ۱۱ ماه قبل، یکشنبه ۹ مهر ۱۳۹۶، ساعت ۱۵:۰۳
۶ سال و ۱۱ ماه قبل، یکشنبه ۹ مهر ۱۳۹۶، ساعت ۱۲:۴۱
مراجعه کنید به مطلب «شروع به کار با AngularJS 2.0 و TypeScript - قسمت یازدهم - کار با فرمها - قسمت دوم» قسمت «اعتبارسنجی async یا اعتبارسنجی از راه دور (remote validation)» آن. یک مثال کامل در این زمینه مطرح شدهاست.
۶ سال و ۱۲ ماه قبل، جمعه ۷ مهر ۱۳۹۶، ساعت ۱۴:۵۳
C# 7.1 - Pattern-Matching with Generics
C# 7.1 پشتیبانی بهتری از pattern-matching را جهت کار با Generics ارائه دادهاست.
در اینجا یک کلاس پایه خودرو و سپس یک کلاس مشتق شدهی خودروهای ورزشی را داریم. اکنون در جائی از برنامه میخواهیم متد راندن این خودروها را تعریف کنیم:
در اینجا نوع خودرو به صورت جنریک تعریف شدهاست و سپس با استفاده از قابلیتهای pattern-matching سعی در انطباق با آنها را داریم. کامپایل این قطعه کد در C# 7.0 با خطای کامپایلر ذیل متوقف میشود:
اگر این قطعه کد را بخواهیم با C# 7.0 کامپایل کنیم نیاز است ابتدا شیء دریافتی به object تبدیل شود و سپس کار pattern-matching با موفقیت صورت خواهد گرفت:
این محدودیت در C# 7.1 برطرف شدهاست و دیگر نیازی به این cast اضافه نیست و میتوان (object) را از قطعه کد فوق حذف کرد.
C# 7.1 پشتیبانی بهتری از pattern-matching را جهت کار با Generics ارائه دادهاست.
public class Car {} public class SportsCar : Car { public string Color { get; set; } }
public static void Run<T>(T car) where T : Car { if (car is SportsCar sportsCar) { } switch (car) { case SportsCar sCar: break; } }
An expression of type "T" cannot be handled by a pattern of type "SportsCar"
اگر این قطعه کد را بخواهیم با C# 7.0 کامپایل کنیم نیاز است ابتدا شیء دریافتی به object تبدیل شود و سپس کار pattern-matching با موفقیت صورت خواهد گرفت:
public static void Run<T>(T car) where T : Car { if ((object)car is SportsCar sportsCar) { } switch ((object)car) { case SportsCar sCar: break; } }
۶ سال و ۱۲ ماه قبل، چهارشنبه ۵ مهر ۱۳۹۶، ساعت ۱۵:۵۷
یک نکتهی تکمیلی
از نگارش v1.13.0-beta3 به بعد افزونهی #C مخصوص VSCode، خاصیت LangVersion به درستی پردازش میشود.
از نگارش v1.13.0-beta3 به بعد افزونهی #C مخصوص VSCode، خاصیت LangVersion به درستی پردازش میشود.
۶ سال و ۱۲ ماه قبل، دوشنبه ۳ مهر ۱۳۹۶، ساعت ۲۲:۴۲
راهکاری وجود ندارد؛ از این جهت که پوشهی توسعهی برنامههای ASP.NET Core به همراه تمام فایلهای لازم برای ارائهی توسط IIS نیست. به همین جهت publish آن ضروری است. ضمن اینکه همانطور که در متن توضیح داده شد، برنامههای ASP.NET Core اصلا وابستگی به IIS ندارند و در پروسهی IIS اجرا نمیشوند. این برنامهها در پروسهی کنسول مجزایی که توسط Kestrel web server ارائه میشود، توسط IIS در معرض دید عموم قرار میگیرند. بنابراین اگر قصد توزیع محلی آنرا دارید، فرمان dotnet run را در ریشهی پروژه اجرا کنید تا برنامه بر روی پورت 5000 در اختیار عموم قرار گیرد. یا dotnet watch run را اجرا کنید تا اگر در همان لحظه تغییری را اعمال کردید، به صورت خودکار برنامه مجددا کامپایل و ارائه شود. البته این مورد نیاز به تنظیمات Microsoft.DotNet.Watcher.Tools را در فایل csproj برنامه دارد. این روش (استفاده از NET Core CLI.) برای آزمایش این نوع برنامهها، روش پیشفرض هست.