.NET 8 determina in che modalità sta girando, ovvero se si trova in Development o Production, guardando delle variabili di ambiente.
Development e production sono gli abienti tipici, ma in realtà se ne possono creare altri se serve.

Per le web application la variabile si chiama ASPNETCORE_ENVIRONMENT, mentre per le console application la variabile si chiama DOTNET_ENVIRONMENT.
ATTENZIONE: se sono presenti entrambi, in una web application var builder = WebApplication.CreateBuilder(), DOTNET_ENVIRONMENT vince.

In una console application var builder = Host.CreateApplicationBuilder(args), viene letta solo DOTNET_ENVIRONMENT, ASPNETCORE_ENVIRONMENT viene ignorata.

Le variabili ambiente possono condiziona il comportamento del nostro codice, ad esempio la funzionalità di Visual Studio 2022 Manage User Secrets è disabilitata quado si è in ambiente di Production.

In sviluppo, con Visual Studio 2022, si può preimpostare la variabile di ambiante andando nelle proprietà di progetto Debug, oppure agendo sul file JSON Properties/launchSettings.json

JSON: launchSettings.json

{
  "profiles": {
    "Debug Development": {
      "commandName": "Project",
      "environmentVariables": {
        "DOTNET_ENVIRONMENT": "Development"
      }
    }
  }
}
Debug Development è un etichetta che può cambiare da progetto a progetto.

Per visualizzare via codice la modalità di esecuzione usare:

C#

builder.Environment.EnvironmentName
oppure

C#: web app

Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT"); 

C#: console app

Environment.GetEnvironmentVariable("DOTNET_ENVIRONMENT");  


Per maggiori info vedi Use multiple environments in ASP.NET Core.
Tags:
.NET69 C#240
Potrebbe interessarti anche: