Sul Aga
Sul Aga

Reputation: 6732

How to set ASP.NET 5 environment variables on production environment

In Visual Studio 2015 you set the following variable in project properties: ASPNET_ENV. If you set it to development then you can use:

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
    if (env.IsDevelopment())
    {
        app.UseErrorPage();
    }
 }

IsDevelopment method will check ASPNET_ENV environment variable. Now this is all good on development while you are in Visual Studio 2015. When you publish the web application to IIS on a production server how can you set the value for ASPNET_ENV?

My server is Windows Server 2012

Upvotes: 8

Views: 11818

Answers (2)

JOSEFtw
JOSEFtw

Reputation: 10071

If you are using IIS to host your application, it's possible to set the environment variables in your web.configfile like this:

<aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false">
    <environmentVariables>
        <environmentVariable name="ASPNETCORE_ENVIRONMENT" value="QA" />
        <environmentVariable name="AnotherVariable" value="My Value" />
    </environmentVariables>
</aspNetCore>

Upvotes: 8

Muhammad Rehan Saeed
Muhammad Rehan Saeed

Reputation: 38457

This is how to set the environment variable on Windows:

  1. On your server, right click 'Computer' or 'My Computer' and click on 'Properties'.
  2. Go to 'Advanced System Settings'.
  3. Click on 'Environment Variables' in the Advanced tab.
  4. Add a new System Variable with the name ASPNET_ENV (RC1) or ASPNETCORE_ENVIRONMENT (RC2, RTM and Above) and a value of Production, Staging, Development or whatever you want.
  5. A reboot of your site may be required.

See also this answer for how to read the environment variable from gulpfile.js.

Upvotes: 8

Related Questions