اشتراک‌ها
سری ویدیوهای NET Conf 2023.

.NET Conf 2023
.NET Conf 2023 is the largest .NET event hosted online! Co-organized by the .NET community and Microsoft and backed by the support of the .NET Foundation and ecosystem partners, it's your ticket to learning and finding inspiration for your upcoming software projects. Dive into the world of web, mobile, cloud, desktop, gaming, IoT, AI, and beyond, all powered by .NET. Whether you're just starting your coding journey or you're a seasoned pro, these sessions are tailored for everyone. Be prepared for presentations covering the exciting new features of .NET 8, C# 12, Azure, Visual Studio, and so much more. Tune in to learn about the fastest release of .NET yet!
 

سری ویدیوهای NET Conf 2023.
اشتراک‌ها
Visual Studio 2017 version 15.6.7 منتشر شد
  • VS is more responsive when running Git operations.
  • Debugging large solutions with /debug:fastlink PDBs is more robust. Changes in the PDB/DIA lead to reduced latency and a 30% reduction in heap memory consumption in the VS debugger that used to cause crashes.
  • C++ compiler bugfixes:
    • Fix for the SSA optimizer incorrectly sinking a function call past a store to a variable used in a __finally handler.
    • Fix for the SSA optimizer sometimes incorrectly analyzing memory loads from locations with negative offsets.
    • Fix for the optimizer incorrectly transforming a pre-incremented loop into a post-incremented loop. This was found compiling the ICU project.
  • Microsoft bumped up the Java™ Development Kit 8 to Update 172 (JDK version 8u172). 
Visual Studio 2017 version 15.6.7 منتشر شد
نظرات مطالب
ارتقاء به ASP.NET Core 1.0 - قسمت 8 - فعال سازی ASP.NET MVC
ارتقاء به ASP.NET Core 2.1 - معرفی درجه‌ی سازگاری فریم ورک

پس از نصب یک SDK جدید، بهترین روش یافتن تغییرات انجام شده، ایجاد یک پوشه‌ی خالی جدید، باز کردن خط فرمان در این پوشه و سپس صدور دستور dotnet new mvc است. به این ترتیب بدون داشتن هیچ نوع IDE خاصی می‌توانید یک پروژه‌ی جدید مبتنی بر آن SDK را ایجاد کنید.
در قالب پیش‌فرض نگارش 2.1، سطر فعالسازی Mvc به صورت زیر تغییر کرده‌است:
public void ConfigureServices(IServiceCollection services)
{
    services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
}
در اینجا CompatibilityVersion یک چنین تعریفی را دارد:
public enum CompatibilityVersion
{
   Version_2_0 = 0,
   Version_2_1 = 1,
   Latest = int.MaxValue
}
برای مثال تنظیم آن به Version_2_0‌، صرفنظر از نگارش جاری Mvc مورد استفاده، رفتار نگارش 2.0 را برای برنامه تنظیم می‌کند که البته هدف اصلی آن‌ها در حقیقت چنین چیزی است:
services.AddMvc()
   .SetCompatibilityVersion(CompatibilityVersion.Version_2_1) // Give me all of the 2.1 behaviors
   .AddMvcOptions(options =>
   {
      options.AllowCombiningAuthorizeFilters = false; // don't combine authorize filters (keep 2.0 behavior)
      options.AllowEmptyInputInBodyModelBinding = false; // shouldn't treat empty input as valid.
   });
و فلسفه‌ی آن نیز به این صورت است: چگونه یک فریم‌ورک را بهبود ببخشیم، بدون اینکه ارتقاء به نگارش‌های جدید را سخت‌تر کنیم؟
برای مثال در نگارش 2.1، اگر بدنه‌ی درخواست رسیده خالی باشد، خطایی را به ModelState اضافه می‌کند که پیشتر اینگونه نبوده‌است و یا ترکیب سیاست‌های امنیتی پیش از نگارش 2.1، آنطور که تصور میشده، کار نمی‌کرده‌است و این باگ اکنون اصلاح شده‌است. اگر پس از به روز رسانی به نگارش 2.1، این دو تغییر، برنامه‌ی شما را به هم می‌ریزند، یا می‌توانید CompatibilityVersion را به Version_2_0 تعیین کنید (لغو کلی تغییرات رفتاری نگارش 2.1) و یا Version_2_1 را انتخاب کنید و توسط متد AddMvcOptions، گزینه‌های مختلف این تغییرات انجام شده را به دلخواه انتخاب کنید.

نکته‌ی مهم: این رفتارها تا ابد نگهداری نخواهند شد. یعنی با ارائه‌ی نگارش 3.0 و انتخاب آن، دیگر دسترسی به رفتارهای قدیمی قابل انتخاب برای نگارش 2.1 نخواهید داشت. به همین جهت در این بین، فرصت بررسی، انطباق و به روز رسانی برنامه‌ی خود را خواهید داشت.