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

438
Views
¿Dónde están las instrucciones/directivas de uso en .NET 6?

Me puse en marcha con Visual Studio 2022 Preview durante un par de días.

Tengo el primer susto, no hay Startup.cs. Está bien, un poco de lectura, sé que se eliminó el inicio.

Hoy recibió otra bofetada. No veo declaraciones de uso. Aquí lo tienes.

Acabo de crear una nueva aplicación web .NET 6 y cuando paso el mouse sobre la clase WebApplication, me doy cuenta de que permanece en el espacio de nombres Microsoft.AspNetCore.Builder. Y la clase Program.cs generada se ve así.

Clase Program.cs en la aplicación web ASP.NET core 6

Entonces, ¿dónde está el using Microsoft.AspNetCore.Builder; ¿declaración?

¿Cuál es la magia? ¿Por qué .net se vuelve místico cada día?

El archivo Program.cs completo es el siguiente.

 var builder = WebApplication.CreateBuilder(args); // Add services to the container. builder.Services.AddRazorPages(); var app = builder.Build(); // Configure the HTTP request pipeline. if (!app.Environment.IsDevelopment()) { app.UseExceptionHandler("/Error"); // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts. app.UseHsts(); } app.UseHttpsRedirection(); app.UseStaticFiles(); app.UseRouting(); app.UseAuthorization(); app.MapRazorPages(); app.Run();
over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

C# 10.0 presenta una nueva función llamada directiva de uso global ( global using <fully-qualified-namespace>; ) que permite especificar espacios de nombres para que se importen implícitamente en todos los archivos de la compilación. .NET 6 RC1 tiene esta función habilitada de forma predeterminada en las nuevas plantillas de proyecto (consulte la propiedad <ImplicitUsings>enable</ImplicitUsings> en su .csproj).

Para Microsoft.NET.Sdk.Web , los siguientes espacios de nombres deben importarse implícitamente (más los de Microsoft.NET.Sdk ):

  • Sistema.Net.Http.Json
  • Microsoft.AspNetCore.Builder
  • Microsoft.AspNetCore.Hosting
  • Microsoft.AspNetCore.Http
  • Microsoft.AspNetCore.Routing
  • Microsoft.Extensions.Configuration
  • Microsoft.Extensions.DependencyInjection
  • Microsoft.Extensions.Hosting
  • Microsoft.Extensions.Logging

UPD

Para responder a sus preguntas en el comentario:

Al momento de escribir, el archivo generado que contiene las importaciones predeterminadas estará dentro de la carpeta obj con un nombre similar a ProjectName.GlobalUsings.g.cs .

Para modificar las importaciones predeterminadas, puede agregar el elemento Using a su archivo .csproj . Según los atributos expuestos, permite varias acciones, incluidas la adición y eliminación:

 <ItemGroup> <Using Include="SomeFullyQualifiedNamespace"/> </ItemGroup>

Solo para agregar, simplemente puede prefijar su directiva de using con un modificador global en cualquier archivo (o crear uno separado solo para esto):

 global using SomeFullyQualifiedNamespace;
over 4 years ago · Santiago Trujillo Report

0

Parece que aún puede agregar sus propias directivas de uso en la parte superior de Program.cs. Soy consciente de que no les estoy mostrando todo mi código, pero pude compilar y ejecutar algo que se parece a esto:

 using MvcPrototype1.DataAccess; using MvcPrototype1.DataAccess.Interfaces; var builder = WebApplication.CreateBuilder(args); // Add services to the container. builder.Services.AddControllersWithViews() .AddXmlSerializerFormatters(); builder.Services.AddScoped<IAddressRepository, AddressRepository>(); builder.Services.AddAutoMapper(typeof(Program)); var app = builder.Build(); ...
over 4 years ago · Santiago Trujillo Report

0

  • En .net 6.0, no necesita agregar algunos espacios de nombres, porque están activados de manera predeterminada.

  • Por ejemplo:-
    solo ejemplo de hola mundo

  • Aquí no tenemos que usar el espacio de nombres porque existe de forma predeterminada.

  • Entonces, ¿dónde encontrarlo? y conocer todos los espacios de nombres que se instalaron por defecto en mi proyecto.

  • Simplemente vaya a los archivos de proyecto .csproj y encontrará habilitar y eso es todo.

  • Entonces, por defecto: -

  • si sus aplicaciones son una aplicación de consola, estos paquetes se instalan de forma predeterminada:
    1 - Sistema
    2 - Sistema.Colecciones.Genérico
    3 - Sistema.IO
    4 - Sistema.Linq
    5 - Sistema.Neto.Http
    6 - Sistema.Roscado
    7 - System.Threading.Tasks

  • si sus aplicaciones son una aplicación web, estos paquetes se instalan de forma predeterminada:
    1 - Sistema.Net.Http.Json
    2 - Microsoft.AspNetCore.Builder
    3 - Microsoft.AspNetCore.Hosting
    4 - Microsoft.AspNetCore.Http
    5 - Microsoft.AspNetCore.Routing
    6 - Microsoft.Extensions.Configuration
    7 - Microsoft.Extensiones.DependencyInjection
    8 - Microsoft.Extensiones.Alojamiento
    9 - Microsoft.Extensiones.Registro

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!