title: Using Uri for a Different Assembly to Load an Image
body: <p>Search around for sometime but can't seem to figure out as to why I can't load an image from a different project in the same solution. </p>
  
  <p>I have logo images put in a separate project(assembly) as shown below:</p>
  
  <pre><code>namespace LogosModule
  {
      public static class TestClass
      {
          public static readonly Uri Hess = new Uri("pack://application:,,,/LogosModule;component/Resources1/Logos/Hess.jpg", UriKind.RelativeOrAbsolute);
      }
  }
  </code></pre>
  
  <p>The file build action is set to "Content". I have also tried to use "Embedded Resource" while copying to root directory enabled.</p>
  
  <p>The Uri is assigned at the constructor. I have also tried to hardcode the Uri to no avail.</p>
  
  <p>In my main Shell module, I have an AboutView control that is used to have this image displayed (using Catel here):</p>
  
  <pre><code>[ViewModelToModel(nameof(AboutInfo))]
  public Uri AssociatedCompanyLogoUri
      {
          get { return GetValue&lt;Uri&gt;(AssociatedCompanyLogoUriProperty); }
          set { SetValue(AssociatedCompanyLogoUriProperty, value); }
      }
      public static readonly PropertyData AssociatedCompanyLogoUriProperty = RegisterProperty(nameof(AssociatedCompanyLogoUri),typeof(Uri));
  </code></pre>
  
  <p>I have another image but this one is included in the main Shell assembly and it displays with no problem using the same approach.</p>
  
  <p>The XAML code is shown below:</p>
  
  <pre><code>&lt;StackPanel Grid.Row="0" Grid.Column="0" Margin="10,5,0,10" Orientation="Horizontal"&gt;
          &lt;TextBlock Text="Account" FontSize="32" Margin="10,5,0,10"&gt;&lt;/TextBlock&gt;
          &lt;Image  Source="{Binding AssociatedCompanyLogoUri}" HorizontalAlignment="Right"  
                 Margin="10" VerticalAlignment="Center" Stretch="None"  /&gt;
   &lt;/StackPanel&gt;
  </code></pre>
  
  <p>The exception I get is shown below:</p>
  
  <pre><code>Could not find any resources appropriate for the specified culture or the neutral culture.  Make sure "LogosModule.g.resources" was correctly embedded or linked into assembly "LogosModule" at compile time, or that all the satellite assemblies required are loadable and fully signed.
  
   at System.Resources.ManifestBasedResourceGroveler.HandleResourceStreamMissing(String fileName)
  </code></pre>
  
  <p>While debugging, I can clearly see that the Uri is assigned. The problems seems to be that the assembly somehow isn't loaded properly.</p>
  
  <p>Help is appreciated it. </p>