title: Specifying locale for string interpolation in C#6 (Roslyn CTP6)
body: <p>String interpolation in C#6 lets me write:</p>
  
  <pre><code>decimal m = 42.0m;
  string x = $"The value is {m}";
  </code></pre>
  
  <p>However, a very common use case for string formatting is to specify the locale used for formatting the values. Let's say I need to use <code>InvariantCulture</code> for the formatting operation above, what is the syntax for that ? </p>
  
  <p><a href="https://roslyn.codeplex.com/discussions/570292" rel="noreferrer">This discussion</a> suggests that I should be able to do this:</p>
  
  <pre><code>string x = INV($"The value is {m}");
  </code></pre>
  
  <p>Where INV is defined as</p>
  
  <pre><code>public static string INV(IFormattable formattable)
  {
      return formattable.ToString(null, System.Globalization.CultureInfo.InvariantCulture);
  }
  </code></pre>
  
  <p>However, this does not work. It compiles, but it leaves my program hanging at in cmd.exe at startup - as if klr.exe, that I assume is being invoked, hangs (Compiler bug?)</p>
  
  <p>This is an ASP.NET 5 Console Project in VS15 CTP 6.</p>