title: AWS Lambda - C# - Environment Variables only load null
body: <p>-Using Visual Studio 2017-
  I am having trouble reading any configuration for a database connection string for my function to consume.
  Most information I come across says to use Environment Variables, but I seem to be doing that wrong, or there is missing information.
  If I hard-code the connection string in it works without trouble.
  Both</p>
  
  <pre><code>var value = Environment.GetEnvironmentVariable("ConStr");
  </code></pre>
  
  <p>and any variation of</p>
  
  <pre><code>var value = Environment.GetEnvironmentVariable("ConStr",EnvironmentVariableTarget.Machine/Process/User);
  </code></pre>
  
  <p>only return me null values.</p>
  
  <p>I have configured the variable in the aws-lambda-tools-defaults.json as directed by most sources</p>
  
  <pre><code>{
      "Information" : [blah],
      "profile"     : "****",
      "region"      : "****",
      "configuration" : "****",
      "framework"     : "netcoreapp2.1",
      "function-runtime" : "dotnetcore2.1",
      "function-memory-size" : 256,
      "function-timeout"     : 30,
      "function-handler"     : "****::****:****/****/****",
      "function-name"        : "arn:aws****:****/****/****",
      "function-role"        : "****",
      "tracing-mode"         : "PassThrough",
      "environment-variables" : "ConStr=FooBar;",
      "function-description"  : ""
  }
  </code></pre>
  
  <p>I can see the value populate in the publish profile when uploading. I can see the values uploaded properly to AWS Lambda through the console. All instances still fail to access the data.</p>
  
  <p>Several sources also talk about a 'Serverless.template' file that I can not find in my files, and no full example is given. Is this what I'm missing? If so can someone break down how to implement that?</p>