پاسخ به بازخورد‌های پروژه‌ها
خطا در dotNet3.5
در پروژه‌ای که این خطا را می‌دهد، از طریق nuget آن‌را مجددا نصب کنید (در drop down انتخاب پروژه‌ی جاری آن، پروژه‌ی مدنظر را هم انتخاب کنید).
پاسخ به بازخورد‌های پروژه‌ها
نحوه افزودن Nuget Package ها به Template؟
نیازی به پیوست بسته‌ها نیست. علتش رو اینجا توضیح دادم:
بازسازی کامل پوشه packages بسته‌های NuGet به صورت خودکار 
فقط فایل config رو در پروژه داشته باشید کافی هست.
بازخوردهای پروژه‌ها
نحوه افزودن Nuget Package ها به Template؟
سلام. برای استفاده از nuget package‌ها در یک template راهی وجود داره؟
یعنی میخوام پروژه به صورت پیش فرض یکسری پکیج‌های خاص رو هم داشته باشه.
ممنون.
بازخوردهای پروژه‌ها
Nuget Package برای متدهای الحاقی
مجموعه فوق العاده مفیدی هستش. فقط اگر امکانش هست به صورت nuget package هم ارائه کنید تا استفاده از این مجموعه در پروژه‌ها بیشتر و راحت‌تر بشه.
ممنون.
نظرات نظرسنجی‌ها
آیا از زمان حضور در محل کار، جهت یادگیری استفاده می کنید؟
به نظرم سوال دقیق نیست. یادگیری در چه حد؟ اگه در حد یادگرفتن مثلا، نحوه استفاده از Powershell برای ایجاد nuget package برای همه پروژه‌های یک solution باشه، آره استفاده می‌کنم، ولی اینکه بخوام شروع به یادگیری اندروید کنم، خیر.
نظرات مطالب
آشنایی با LibMan در پروژه‌های ASP.NET Core
از Nuget بهتر است برای مدیریت پکیج‌های NET.ی استفاده شود زیرا فایل‌های سمت کلاینتی که در Nuget قرار گرفته‌اند نسخه‌‌های رسمی نیستند. به عنوان مثال با ارائه نسخه‌ی جدید bootstrap یک نفر می‌بایست نسخه جدید را به مخزن Nuget اضافه کند همچنین تعداد زیادی پکیج بوت‌استرپ بر روی Nuget قرار دارد که معلوم نیست کدامیک شامل آخرین تغییرات می‌باشد. همچنین پکیج‌های سمت کلاینتی که روی Nuget قرار دارند با نسخه‌های جدید ASP.NET سازگار نیستند و عموماً برای نسخه‌های قبل از ASP.NET Core و همان  ASP.NET MVC سابق تهیه شده‌اند. به عنوان مثال اگر درون یک پروژه‌ی APS.NET Core دستور زیر را وارد کنید:

dotnet add package Twitter.Bootstrap --version 3.0.1.1

تغییری در پوشه‌ی wwwroot مشاهده نخواهید کرد (صرفاً محتوای درون UserProfile%\.nuget\packages%  در ویندوز یا nuget/packages~/.    در MacOS را شلوغ خواهد کرد.) دلیل آن نیز همانطور که عنوان شد عدم سازگاری پکیج مربوطه با ASP.NET Core می‌باشد. (+ ). در حالیکه نصب همین پکیج درون یک پروژه ASP.NET MVC 5.x منجر به اضافه شدن پوشه‌های Content و Scripts خواهد شد.
اما با استفاده از LibMan می‌توانیم پکیج موردنظر را از هر کدام از providerهای عنوان شده دانلود و همچنین مسیر دانلود پکیج را نیز می‌توانیم تعیین کنیم. 
نظرات مطالب
ارتقاء به ASP.NET Core 1.0 - قسمت 21 - بررسی تغییرات Bundling و Minification
سلام
این کتابخانه WebOptimizer.Core بهترین گزینه‌ای بود که فایلهای اسکریپت و CSS رو هم فشرده میکنه و هم Bundle و هم اینکه این فایلهای جدید Bundle شده رو داخل فضای کش میریزه که از مکان فایلهای اصلی جدا نگهداری میشه .
فقط در مورد ارتقا از ASP.NET Core 2.2 به ASP.Net Core 3.0 چون برای بخش احراز هویت شخصی بر روی پروژه باید از فریمورکهای زیر در نسخه ASp.NET Core 3.0 در قسمت PackageReference‌های پروژه استفاده بشه
<PackageReference Include="Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore" Version="3.1.0" />
<PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="3.1.0" />
<PackageReference Include="Microsoft.AspNetCore.Identity.UI" Version="3.1.0" />
یک خطا در زمانی که فایلهای CSS رو می‌خواهد با هم Bundle کند پیش میاید که در نسخه‌های قبلی و یا حتی زمانی که از این سه PackageReference نخواهیم استفاده کنیم پیش نمیاد.

برای رفع این مشکل در حال حاضر میتوانید این خط از کد سورس پروژه را با خط کد زیر تغییر دهید تا خطا رفع شود.
content[key] = Adjust(config.Content[key].AsString(), input.PhysicalPath, output.Name);
دلیلش اینه زمانی که از اون PackageReference‌ها استفاده میکنیم در این خط از کد خصوصیت output.PhysicalPath  مقدار null دریافت میکنه که باعث عدم کارایی و Bundle کردن فایلهای CSS میشه .
گزارش کردم تا بعدا در نسخه nuget Package این مشکل برطرف بشه.
اشتراک‌ها
دوره کار با Angular 16 توسط Web API و Entity Framework Core

Angular 16 CRUD with .NET 7 Web API using Entity Framework Core - Full Course

📑 Contents:
00:00:00 Video Introduction
00:00:40 Angular and ASP.NET Core Udemy Course Demo
00:03:07 Prerequisites
00:03:37 Setting Up Development Environment
00:15:37 Create ASP.NET Core Web API
00:20:07 Understanding Files and Folder Structure
00:25:37 Understanding REST and HTTP Verbs
00:30:10 Create .NET 6 Web API
00:32:41 Our Project and Domain Models
00:41:16 Installing Nuget Packages For Entity Framework Core
00:43:06 DbContext
00:59:26 Running EF Core Migrations
01:03:26 Create Controllers and Actions
01:23:46 Repository Pattern
01:36:46 Create New Angular Application using Angular CLI
01:50:09 Angular Components
02:13:29 CRUD in Angular and ASP.NET Core Web APIs
02:17:21 Angular Forms
02:26:59 Angular Services
02:38:09 CORS
02:42:09 Unsubscribing
 

دوره کار با Angular 16 توسط Web API و Entity Framework Core
مطالب
آموزش WAF
دز طراحی پروژه‌های مقیاس بزرگ و البته به صورت ماژولار همیشه ساختار پروژه اهمیت به سزایی دارد. متاسفانه این مورد خیلی در طراحی پروژه‌ها در نظر گرفته نمی‌شود و اغلب اوقات شاهد آن هستیم که یک پروژه بسیار بزرگ دقیقا به همان صورت پروژهای کوچک و کم اهمیت‌تر مدیریت و پیاده سازی می‌شود که این مورد هم مربوط به پروژه‌های تحت وب و هم پروژه‌های تحت ویندوز و WPF است. برای مدیریت پروژه‌های WPF و Silverlight در این پست به اختصار درباره PRISM بحث شد. مزایا و معایب آن  بررسی و در طی این پست ها(^ و ^) مثال هایی را پیاده سازی کردیم. اما در این پست مفتخرم شما را با یکی دیگر از کتابخانه‌های مربوط به پیاده سازی مدل MVVM آشنا کنم. کتابخانه ای متن باز، بسیار سبک با کارایی بالا.
اما نکته ای که ذکر آن خالی از لطف نیست این است که قبلا از این کتابخانه در یک پروژه بزرگ  و ماژولار WPF  استفاده کردم و نتیجه مطلوب نیز حاصل شد.
معرفی:
WPF Application Framework یا به اختصار WAF کتابخانه کم حجم سبک و البته با کارایی عالی برای طراحی پروژه‌های ماژولار WPF در مقیاس بزرگ طراحی شده است که مدل پیاده سازی ان بر مبنای مدل MVVM و MVC است. شاید برایتان جالب باشد که این کتابخانه دقیقا مدل MVC را با مدل MVVM ترکیب کرده در نتیجه مفاهیم آن بسیار شبیه به پروژه‌های تحت وب MVC است. همانطور که از نام آن پیداست این کتابخانه صرفا برای پروژه‌های WPF طراحی شده، در نتیجه در پروژه‌های Silverlight نمی‌توان از آن استفاده کرد.
ساختار کلی آن به شکل زیر می‌باشد:

همانطور که مشاهده می‌کنید پروژه‌های مبتنی بر این کتابخانه همانند سایر کتابخانه‌های MVVM از سه بخش تشکیل شده اند. بخش اول با عنوان Shell یا Presentation معرف فایل‌های Xaml پروژه است، بخش دوم یا Application معرف ViewModel و Controller و البته IView  می‌باشد. بخش Domain نیز در برگیرنده مدل‌های برنامه است.

معرفی برخی مفاهیم:

»Shell :  این کلاس معادل یک فایل Xaml است که حتما باید یک اینترفیس IView را پیاده سازی نماید.
»IView : معرف یک اینترفیس جهت برقراری ارتباط بین ViewModel و Shell
»ViewModel : در این جا ViewModel با مفهوم ViewModel در سایر کتابخانه‌های MVVM  کمی متفاوت است. در این کتابخانه ViewModel فقط شامل تعاریف است  و هیچ گونه پیاده سازی در اینجا صورت نمی‌گیرد. دقیقا معادل مفهوم ViewModel در پروژه‌های MVC تحت وب.
»Controller : پیاده سازی ViewModel و تعریف رفتارها در این قسمت انجام می‌گیرد.

اما در بسیاری از پروژها نیاز به پیاده سازی الگوی DataModel-View-ViewModel است که این کتابخانه با دراختیار داشتن برخی کلاس‌های پایه این مهم را برایمان میسر کرده است.

همانطور که می‌بینید در این حالت بر خلاف حالت قبلی ViewModel  و کنترلر‌های پروژه به جای ارتباط با مدل با مفهوم DataModel تغذیه می‌شوند که یک پیاده سازی سفارشی از مدل‌های پروژه است. هم چنین این کتابخانه یک سری Converter‌های سفارشی جهت تبدیل Model به DataModel و برعکس را ارائه می‌دهد.
سرویس‌های پیش فرض: که شامل DialogBox جهت نمایش پیغام‌ها و Save|Open File Dialog سفارشی نیز می‌باشد.
 »برای پیاده سازی Modularity از کتابخانه MEF استفاده شده است.
Command‌های سفارشی: پیاده سازی خاص از اینترفیس ICommand
»مفاهیم مربوط به Weak Event Pattern به صورت توکار در این کتابخانه تعبیه شده است.
»به صورت پیش فرض مباحث مربوط به اعتبارسنجی با استفاده از DataAnnotation   و IDataErrorInfo در این کتابخانه تعبیه شده است.
»ارائه Extension‌های مربوط به UnitTest نظیر Exceptions  و CanExecuteChangedEvent و PopertyChanged جهت سهولت در تهیه unit test

دانلود و نصب
با استفاده از nuget  و دستور زیر می‌توانید این کتابخانه را نصب نمایید:
Install-Package waf
هم چنین می‌توانید سورس آن به همراه فایل‌های باینری را از اینجا دریافت کنید. در پست بعدی یک نمونه از پیاده سازی مثال با این کتابخانه را بررسی خواهیم کرد.