‫۷ سال و ۴ ماه قبل، دوشنبه ۲۵ اردیبهشت ۱۳۹۶، ساعت ۱۴:۳۸
روش دیگری بجای استفاده از فایل‌های bat

در انتهای بحث یک سری فایل bat معرفی شدند که کار اجرای دستورات مرتبط را ساده‌تر می‌کنند. روش دوم اجرای این نوع دستورات، استفاده از همان فایل package.json است. قسمت scripts آن‌را به صورت ذیل تکمیل کنید:
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e",
    "_0-prerestore": "npm install",
    "_0-restore": "dotnet restore",
    "_1-ng-build-dev": "ng build --watch",
    "_1-ng-build-prod": "ng build --prod --watch",
    "_2-dotnet-run": "dotnet watch run",
    "_2-ng-serve-proxy": "ng serve --proxy-config proxy.config.json -o"
  },
سپس افزونه‌ی NPM Task Runner را نیز نصب کنید.
اکنون اگر بر روی فایل package.json، در ویژوال استودیو کلیک راست کنید، گزینه‌ی Task Runner Explorer اضافه شده‌است. با انتخاب آن امکانات ذیل ظاهر می‌شوند:


در اینجا با کلیک راست بر روی هر گزینه، امکان اجرای آن وجود خواهد داشت.
‫۷ سال و ۴ ماه قبل، یکشنبه ۲۴ اردیبهشت ۱۳۹۶، ساعت ۱۴:۱۴
یک نکته‌ی تکمیلی
فایل global.json هرچند از پروژه‌های VS 2017 حذف شده‌است اما هنوز هم مورد استفاده‌ی CLI آن هست. برای مثال دستورات خط فرمان dotnet new و یا dotnet build آن از فایل global.json قرار گرفته‌ی در پوشه‌ی جاری (جستجوی یافتن آن تا ریشه‌ی درایو جاری هم ادامه خواهد یافت)، جهت تعیین شماره نگارش SDK مورد استفاده، کمک می‌گیرند. برای نمونه اگر نگارش 2 را نصب کرده باشید، دستور dotnet new از آخرین نگارش نصب شده استفاده خواهد کرد. اما اگر می‌خواهید آن‌را کنترل کنید (امکان کار با چندین SDK به صورت همزمان در پروژه‌های مختلف)، نیاز است global.json را به پروژه اضافه کنید.
‫۷ سال و ۴ ماه قبل، شنبه ۲۳ اردیبهشت ۱۳۹۶، ساعت ۱۵:۰۴
محتوای فایل debug.log ایی را که در انتها عنوان کرده بررسی کنید. احتمالا مشکل دسترسی به اینترنت را دارد.
برای مثال اگر در شرکت شما از پروکسی داخلی برای دسترسی به اینترنت استفاده می‌شود، این تنظیمات را نیاز خواهید داشت:
npm config set proxy http://proxy_host:port 
npm config set http-proxy http://proxy_host:port 
npm config set https-proxy http://proxy_host:port 
npm config set strict-ssl false
‫۷ سال و ۴ ماه قبل، سه‌شنبه ۱۹ اردیبهشت ۱۳۹۶، ساعت ۱۴:۵۵
حالت ng build --prod به همراه tree-shaking یا حذف کدهای مرده و بدون ارجاع است. بنابراین ارجاعات به ماژول‌های بدون مصرف را از ماژول اصلی برنامه (app.module.ts) حذف کنید تا کد مرده تشخیص داده شوند.
‫۷ سال و ۴ ماه قبل، دوشنبه ۱۸ اردیبهشت ۱۳۹۶، ساعت ۱۳:۲۶
از نحوه‌ی تعریف فیلتر JwtAuthorizeAttribute مطلب « پیاده سازی JSON Web Token با ASP.NET Web API 2.x» و نحوه‌ی ثبت آن و معرفی آن برای Web API ایده بگیرید. معرفی آن برای MVC هم در پروژه‌ی همان مطلب « تزریق وابستگی‌ها در فیلترهای ASP.NET MVC » بحث شده‌است (خصوصا نظرات آن‌را هم مطالعه کنید).
‫۷ سال و ۴ ماه قبل، شنبه ۱۶ اردیبهشت ۱۳۹۶، ساعت ۱۸:۰۴
- من قصد پشتیبانی AutoMapper را ندارم.
- مشکلی با متدهای Async اصلی EF ندارد و به اندازه‌ی کافی در این مورد آزمون‌های واحد تهیه شده‌است.  
- ضمنا این پروژه هیچ به روز رسانی دیگری را نخواهد داشت و نسخه‌ی جدید آن، نسخه‌ی EF Core آن است.
‫۷ سال و ۴ ماه قبل، شنبه ۱۶ اردیبهشت ۱۳۹۶، ساعت ۱۷:۵۲
- با AutoMapper و متد ProjectToListAsync آن آزمایش نشده‌است و بعید هم می‌دانم که با آن کار کند چون ProjectTo آن تفسیر دیگری دارد و با متدهای متداول LINQ یکی نیست.
- اما در کل مشکلی با متدهای Async اصلی EF ندارد و به اندازه‌ی کافی در این مورد آزمون‌های واحد تهیه شده‌است.