title: Localising a WPF application doesn't work?
body: <p>I must be missing something here.</p>
  
  <p>I create a brand new WPF application in VS2015. I create a resource 'String1' and set the value to 'fksdlfdskfs'. </p>
  
  <p>I update the default MainWindow.xaml.cs so that the constructor has:</p>
  
  <pre><code>    public MainWindow()
      {
          InitializeComponent();
          this.Title = Properties.Resources.String1;
      }
  </code></pre>
  
  <p>And run the application, and it works fine, my window title is fksdlfdskfs.</p>
  
  <p>In the AssemblyInfo.cs file I see the below comments:</p>
  
  <pre><code>//In order to begin building localizable applications, set 
  //&lt;UICulture&gt;CultureYouAreCodingWith&lt;/UICulture&gt; in your .csproj file
  //inside a &lt;PropertyGroup&gt;.  For example, if you are using US english
  //in your source files, set the &lt;UICulture&gt; to en-US.  Then uncomment
  //the NeutralResourceLanguage attribute below.  Update the "en-US" in
  //the line below to match the UICulture setting in the project file.
  
  //[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
  </code></pre>
  
  <p>So I add the following into my WpfApplication5.csproj file and reload the project in VS:</p>
  
  <p><code>&lt;UICulture&gt;en-US&lt;/UICulture&gt;</code></p>
  
  <p>And then uncommented the following line in AssemblyInfo.cs:</p>
  
  <pre><code>[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
  </code></pre>
  
  <p>If I now go to run the application, the application no longer runs and I get the following exception on the line where I read the resource:</p>
  
  <blockquote>
    <p>System.Resources.MissingManifestResourceException: Could not find any
    resources appropriate for the specified culture or the neutral
    culture.  Make sure
    "WpfApplication5.Properties.Resources.en-US.resources" was correctly
    embedded or linked into assembly "WpfApplication5" at compile time, or
    that all the satellite assemblies required are loadable and fully
    signed.</p>
  </blockquote>
  
  <p>If I change <code>UltimateResourceFallbackLocation.Satellite</code> to <code>UltimateResourceFallbackLocation.MainAssembly</code> in the AssemblyInfo.cs file, I get the following exception instead:</p>
  
  <blockquote>
    <p>System.IO.IOException: Cannot locate resource 'mainwindow.xaml'</p>
  </blockquote>
  
  <p>What am I doing wrong or what am I missing?</p>