The new ASP.NET Core framework gives us ability to execute different html for different environments:
<environment names="Development"> <link rel="stylesheet" href="~/lib/material-design-lite/material.css" /> <link rel="stylesheet" href="~/css/site.css" /> </environment> <environment names="Staging,Production"> <link rel="stylesheet" href="https://ajax.aspnetcdn.com/ajax/bootstrap/3.0.0/css/bootstrap.min.css" asp-fallback-href="~/lib/material-design-lite/material.min.css" asp-fallback-test-class="hidden" asp-fallback-test-property="visibility" asp-fallback-test-value="hidden"/> <link rel="stylesheet" href="~/css/site.css" asp-append-version="true"/> </environment>
But how can I determine and visualize the name of the current environment in the _Layout.cshtml
of an ASP.NET Core MVC web application?
For example I want to visualize the environment name (Production, Staging, Dev) as a HTML comment for debugging purposes:
<!-- Environment name: @......... -->
ASP.NET Core uses the ASPNETCORE_ENVIRONMENT environment variable to determine the current environment. By default, if you run your application without setting this value, it will automatically default to the Production environment.
. NET core uses environment variables to indicate in which environment the application is running and to allow the app to be configured appropriately. They provide a static class Environment in the system namespace to access the environment variables.
The hosting environment in ASP.NET Core is used to indicate at runtime on which environment (Development, Staging, or Production) an ASP.NET Core application is running.
You can inject the service IHostingEnvironment
in your view by doing@inject Microsoft.AspNetCore.Hosting.IHostingEnvironment hostingEnv
and do a @hostingEnv.EnvironmentName
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With