اندازهی قلم متن
تخمین مدت زمان مطالعهی مطلب:
یک دقیقه
نگارش نهایی دات نت 6، حدود یک ماه دیگر منتشر میشود و اگر برای نمونه RC2 آنرا نصب کرده باشید، با ایجاد یک پروژهی کنسول جدید مبتنی بر آن ... شگفت زده خواهید شد! شاید انتظار داشته باشید که با چنین فایلی مواجه شوید:
اما یک چنین خروجی تولید میشود:
این مورد قابلیتی است که به همراه C# 9.0 به نام «Top Level Programs» ارائه شد و اکنون در تمام قالبهای پیشفرض پروژههای مبتنی بر دات نت 6، استفاده شدهاست. این قالب شاید برای تازهکارها، جالب باشد و کم حجم و کم سطر، اما «ما آنرا درخواست نداده بودیم!».
روش بازگشت به قالبهای قبلی
در حال حاضر و در نگارش فعلی و حتی رسمی دات نت 6، روشی برای بازگشت به حالت قبلی وجود ندارد که به احتمال زیاد در نگارشهای پس از RTM لحاظ خواهد شد (میتوانید در اینجا ^ و ^ به آن رای دهید). تنها راه حل موجود، استفاده از دستور زیر است:
این دستور در اصل به این معنا است که پروژهی من را بر اساس قالب پروژههای NET 5.0. تولید کن؛ اما در فایل csproj آن، بجای net5.0 از net6.0 به عنوان target framework استفاده شود:
در اینجا سطر net5.0 را حذف و با net6.0 جایگزین کنید.
using System; namespace MyVerboseApp { public class Program { public static void Main(string[] args) { Console.WriteLine("Hello World!"); } } }
// See https://aka.ms/new-console-template for more information Console.WriteLine("Hello, World!");
روش بازگشت به قالبهای قبلی
در حال حاضر و در نگارش فعلی و حتی رسمی دات نت 6، روشی برای بازگشت به حالت قبلی وجود ندارد که به احتمال زیاد در نگارشهای پس از RTM لحاظ خواهد شد (میتوانید در اینجا ^ و ^ به آن رای دهید). تنها راه حل موجود، استفاده از دستور زیر است:
dotnet new console --framework net5.0 --target-framework-override net6.0
<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>Exe</OutputType> - <TargetFramework>net5.0</TargetFramework> + <TargetFramework>net6.0</TargetFramework> </PropertyGroup> </Project>