title: Parameter not initialzed in ASP.NET CORE 2.1 when it is in ASP.NET CORE 2.0
body: <p>I've been following an excellent course on pluralsight and amending the code to suit my own application.</p>
  
  <p>The course used ASP.NET CORE 2.0 when creating the project. I've used 2.1 thinking there wouldn't be much difference.</p>
  
  <p>However, I've come across a difference in the two versions.</p>
  
  <p>•   Start New Project: testcore2.0</p>
  
  <p>•   Select API and version ASP.NET Core 2.0, Click OK
  The project is then up and running</p>
  
  <p>•   Add a Helpers folder</p>
  
  <p>•   Inside the Helpers folder, Add a class: TestHelper.cs</p>
  
  <p>•   Add a string property to the TestHelper class</p>
  
  <pre><code>namespace TestCore20.Helpers
  {
    public class TestHelper
    {
      public string TestString { get; set; } = "string";
    }
  }
  </code></pre>
  
  <p>•   In ValuesController.cs, add the using clause using TestCore20.Helpers;</p>
  
  <pre><code>using TestCore20.Helpers;
  </code></pre>
  
  <p>•   In the Get method add the TestHelper as a parameter
  In the Get method add a string variable that will receive the Teststring in the TestHelper and set a breakpoint on it.</p>
  
  <pre><code>[HttpGet]
  public IEnumerable&lt;string&gt; Get(TestHelper th)
  {
    string testString = th.TestString;
  
    return new string[] { "value1", "value2" };
  }
  </code></pre>
  
  <p>If you then run the project, it stops at the breakpoint and you can check th and confirm it has been initiated.</p>
  
  <p>This all works as expected.</p>
  
  <p>However if we repeat the steps in new project and use ASP.NET CORE 2.1 the th class returns a null reference. It isn’t initialised.</p>
  
  <p>How do I get the object to initialise in ASP.NET CORE 2.1?</p>