List of environment variables used by msbuild, dotnet sdks, azure, kudu, etc.

So this basically came to me when I played CI builds in VSTS and in azure deployment. Through various github issues, docs, stack questions, random blog posts, reading the source, etc. I am running various environment variables used by tools. Recently, DOTNET_* such as:

  • DOTNET_SKIP_FIRST_TIME_EXPERIENCE - which tells the build agent not to cache packets. Because hosted agents unload the cache anyway, this is suggested in the note in the docs as a performance improvement.
  • DOTNET_CONFIGURE_AZURE - which tells the _WebConfigTransform target to set web.config stdoutlogfile to \\?\%home%\LogFiles\stdout

others come through azure web applications and settings there:

  • WEBSITE_NODE_DEFAULT_VERSION
  • WEBSITE_SITE_NAME
  • There are other WEBSITE_*
  • DIAGNOSTICS_AZUREBLOBCONTAINERSASURL
  • There are other DIAGNOSTICS_*
  • KUDU_* and SCM_* I saw how to manipulate aspects of the kudu hosting environment and environment under a web application.
  • When I go to the KUDU console and check the environment variables, I also see AZURE_* , more DOTNET_* and a group of others

I understand that each prefix means a “namespace” that describes the associated sets of environment variables, so I’m unlikely to find a main location with information about all of them.

But my question concerns each of these domains, where can I find some final list or even a general list of important environment variables and their functions?

It seems to me that my way to understanding these settings and flags is a very random encounter that creates a lot of heat with a little real work. I would rather be an acyclic, balanced, oriented answer schedule, know what I mean? Even if I am just eagerly looking for the shortest path, it seems better than searching for various issues, and just stumbled upon things buried deep in the github repository or blogs. Can anyone give me an edge here?

The context for this is that after I upgraded to netcore1.1 / vs2017 / csproj and my CI assemblies stopped correctly converting my web.config stdoutlogfile to deploy azure for web applications, I eventually had to dig into websdk source and back track through several variable substitutions to find where the target determined which environment variable to use when setting up publishing for Azure. I was hoping to find some page in the docs for dotnet publish with “these are the environment variables that could affect the output of the publish command”, but came up empty-handed.

+5
source share

All Articles