Simplemente cambié a VS2022, creé un nuevo proyecto y vi esto:
// See https://aka.ms/new-console-template for more information Console.WriteLine("Hello, World!");¿Dónde está todo lo demás? ¿Por qué es eso por defecto ahora?
Visual Studio 2022 con .NET 6 usa una nueva plantilla al crear una aplicación de consola C#. La nueva plantilla reduce la cantidad de código repetitivo necesario para escribir un programa C# simple. Este cambio sin duda beneficiará a los programadores principiantes y a aquellos que son nuevos en C#.
Nuevo estilo:
Main() .Main() y se vuelven estáticas.Ejemplo:
// New style Console.WriteLine("Code in Main()"); Test(); void Test() { Console.WriteLine("Test"); }es aproximadamente equivalente a:
// Old style using System; namespace MyApp { internal class Program { static void Main(string[] args) { Console.WriteLine("Code in Main()"); Test(); } static void Test() { Console.WriteLine("Test"); } } }No hay nada que te impida usar el estilo antiguo. Puede copiar y pegar el código de estilo antiguo anterior en Program.cs, y funcionará perfectamente.
Puede acceder a los args a través de una variable especial con ese nombre en un archivo de clase de declaración de nivel superior:
if (args.Length > 0) { foreach (var arg in args) { Console.WriteLine($"Argument={arg}"); } } else { Console.WriteLine("No arguments"); }Del mismo modo, simplemente devuelve un int para establecer el código de salida:
string? s = Console.ReadLine(); int returnValue = int.Parse(s ?? "-1"); return returnValue;Ver:
En cuanto a por qué, ha habido un impulso para limpiar los archivos de origen de espacios en blanco innecesarios, montones de llaves, largas listas de importaciones en la parte superior de cada archivo y la declaración de espacio de nombres explícita, donde casi todo el mundo sincroniza los espacios de nombres con el nombre del ensamblado. y carpeta de solución de todos modos.
Ha sido una espina en el ojo de muchos que las cosas simples en c# necesitan decenas de líneas de código donde son una sola línea en node, python o ruby. Simplemente no es productivo. Lo mismo para las plantillas Razor y los archivos Razor. Solo necesita un IDE para hacer lo correcto. Con estos cambios, debería ser mucho más fácil ser productivo desde GitHub, incluso si no usa Visual Studio.
Haga clic en el enlace. Redirige a https://docs.microsoft.com/nl-nl/dotnet/core/tutorials/top-level-templates . Tiene un párrafo que dice:
Si desea utilizar las plantillas antiguas, consulte la sección Utilizar el estilo de programa antiguo .
Esa sección menciona que este es el nuevo valor predeterminado. Para eludirlo, cree una aplicación de orientación .NET 5 y modifique su archivo de proyecto:
- <TargetFramework>net5.0</TargetFramework> + <TargetFramework>net6.0</TargetFramework>Supongo que una solución alternativa sería crear una plantilla de proyecto personalizada.