Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

321
Views
¿Cómo forzar a Visual Studio 2022 a crear proyectos de consola con espacios de nombres y clases (como en los viejos tiempos)?

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?

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

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:

  • Las declaraciones en Program.cs que aparecen fuera de cualquier función se colocan automáticamente en Main() .
  • Las declaraciones de funciones se mueven fuera de Main() y se vuelven estáticas.
  • Se agregan implícitamente varias declaraciones de uso para espacios de nombres comunes como System, System.IO, System.Linq, etc.

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.

over 4 years ago · Santiago Trujillo Report

0

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:

  • https://docs.microsoft.com/en-us/dotnet/csharp/fundamentals/program-structure/top-level-statements

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.

over 4 years ago · Santiago Trujillo Report

0

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.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!