‫۷ سال و ۴ ماه قبل، دوشنبه ۱ خرداد ۱۳۹۶، ساعت ۰۴:۵۱
برای دیباگ فایل‌های اکسل از کتابخانه‌ی EPPlus هم می‌توانید استفاده کنید:
using System;
using System.IO;
using OfficeOpenXml;

namespace ExcelDataReader
{
    class Program
    {
        /// <summary>
        /// PM> Install-Package EPPlus
        /// </summary>
        static void Main(string[] args)
        {
            var filePath = "sample.xlsx";
            var fileInfo = new FileInfo(filePath);
            if (!fileInfo.Exists)
            {
                throw new FileNotFoundException($"{filePath} file not found.");
            }

            var worksheetName = "Sheet1";
            using (var package = new ExcelPackage(fileInfo))
            {
                var worksheet = package.Workbook.Worksheets[worksheetName];
                var startCell = worksheet.Dimension.Start;
                var endCell = worksheet.Dimension.End;

                for (var row = startCell.Row; row < endCell.Row + 1; row++)
                {
                    for (var col = startCell.Column; col <= endCell.Column; col++)
                    {
                        var header = worksheet.Cells[1, col].Value ?? worksheet.Cells[2, col].Value;
                        var name = header?.ToString();
                        var value = worksheet.Cells[row, col].Value;
                        //var intValue = Convert.ChangeType(value, typeof(int)) as int?;
                        Console.WriteLine($" row[{row}]:col[{col}] -> {name} : {value}");
                    }
                    Console.WriteLine();
                }
            }
        }
    }
}
سطر به سطر و ستون به ستون آن‌را به صورت key/value خوانده و نمایش می‌دهد.
این key/valueها هم از نوع object هستند. بنابراین تبدیل آن‌ها و یا اعتبارسنجی مقادیر آن‌ها را به سادگی می‌توانید انجام دهید:
var intValue = Convert.ChangeType(value, typeof(int)) as int?;
‫۷ سال و ۴ ماه قبل، یکشنبه ۳۱ اردیبهشت ۱۳۹۶، ساعت ۱۴:۰۸
دستور dotnet run مطابق مستندات آن وابسته‌است به دستور dotnet build. بنابراین با فراخوانی آن نیازی به اجرای صریح دستور dotnet build نیست.
 The command depends on the dotnet build command to build the code.
البته اگر وابستگی‌های پروژه دریافت نشده‌اند (عدم انتخاب گزینه‌ی restore در تصاویر فوق)، با دستور dotnet restore هم می‌توان همان کار بازیابی را انجام داد.
‫۷ سال و ۴ ماه قبل، سه‌شنبه ۲۶ اردیبهشت ۱۳۹۶، ساعت ۰۰:۵۱
- برای دیباگ بهتر برنامه‌های Angular 2 افزونه‌ی Angular Augury را نصب کنید. 
- ngIf، کل المان را از HTML نهایی رندر شده حذف می‌کند یا برعکس؛ اما سبب حذف آن از قالب مخصوصی که تحت کنترل و کامپایل Angular است نمی‌شود. در این‌حالت نه کامپوننت مجددا رندر می‌شود و نه حلقه‌ی for مجددا اجرا خواهد شد. فقط قسمتی که Angular آن‌را مخفی و از HTML نهایی حذف کرده بوده، مجددا به HTML نهایی اضافه می‌شود.
‫۷ سال و ۴ ماه قبل، دوشنبه ۲۵ اردیبهشت ۱۳۹۶، ساعت ۱۸:۴۴
- «... تاریخ خالی وارد میشه ...»
اگر قرار هست تاریخی خالی وارد شود، باید آن‌را nullable تعریف کنید (DateTime? ContractStartDate ) چون DateTime یک value types است و نه یک reference type.
- اگر قرار هست Required داشته باشد (مانند مثال شما)، که همان سمت کلاینت از این مساله جلوگیری می‌شود و کار به ارسال به سمت سرور نمی‌رسد؛ چون new RouteValueDictionary(validationAttributes) کار درج ویژگی‌های اعتبارسنجی را انجام می‌دهد. البته به شرطی که UIHint را ذکر کرده باشید.