Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

312
Vistas
¿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 Respuestas
Responde la pregunta

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 Denunciar

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 Denunciar

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda