ارتقاء به ASP.NET Core 3.0 و سرنوشت metapackageهای Microsoft.AspNetCore
پس از نصب SDK جدید، اگر دستور dotnet new mvc را صادر کنید، فایل csproj تولید شدهی آن تنها دارای TargetFramework ای معادل netcoreapp3.0 است و نه هیچ مورد دیگری:
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp3.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
</ItemGroup>
</Project>
بنابراین برای ارتقاء پروژههای قبلی به نگارش 3 آن:
- ابتدا TargetFramework را به netcoreapp3.0 تنظیم کنید.
- سپس تمام PackageReferenceهایی را که به بستههای Microsoft.AspNetCore.All و یا Microsoft.AspNetCore.App اشاره میکنند، حذف کنید.
- ارجاع به بستهی Microsoft.AspNetCore.Razor.Design را نیز حذف کنید.
- اگر پیشتر خاصیت
AspNetCoreHostingModel را به حالت درون پروسهای تنظیم کردهاید، آنرا حذف کنید؛ چون حالت پیشفرض نگارش 3 است.
-
حذف شدن JSON.NET را مدنظر داشته باشید.
-
تغییرات حالت ثبت سرویسهای MVC و Razor Pages و Web API را مدنظر داشته باشید.