How to load a ResourceDictionary from a strong names assembly?












0















I have project that references 2 dlls. if the referenced dlls are not strong named the resources load fine and my user controls work. The problem is I had to strong name the referenced DLLs and now my user controls give me a XamlParseException System.Windows.Markup.StaticResourceHolder with an inner of "Could not load file or assembly". I'm guessing the static resource in the app.xaml could not be found or loaded so it thinks the assembly is not loaded. Is there a way around this?



App.Xaml...



 <Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.Dark.xaml" />
<ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.Defaults.xaml" />
<ResourceDictionary Source="pack://application:,,,/MaterialDesignColors;component/Themes/Recommended/Primary/MaterialDesignColor.Grey.xaml" />
<ResourceDictionary Source="pack://application:,,,/MaterialDesignColors;component/Themes/Recommended/Accent/MaterialDesignColor.Red.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>


App.xaml.cs...



 public partial class App
{
protected override void OnStartup(StartupEventArgs e)
{
// referenced to MaterialDesignThemes.Wpf
MaterialDesignThemes.Wpf.DialogHost d = new MaterialDesignThemes.Wpf.DialogHost();
var b = d.IsOpen;

base.OnStartup(e);
var app = new MainWindow();
var context = new MainWindowVM();
app.DataContext = context;
app.Show();
}
}









share|improve this question

























  • This should work fine. Can you please show how you reference the ResourceDictionary?

    – Klaus Gütter
    Nov 25 '18 at 15:26











  • edited OP... could it be the project is .Net 4.6.1?

    – rob morgan
    Nov 25 '18 at 15:31











  • Could you try to instantiate any type defined in the referenced assemblies in the app startup code? Does this work?

    – Klaus Gütter
    Nov 25 '18 at 15:40











  • edited OP added App.xaml.cs... if that is sufficient, then yes it works.

    – rob morgan
    Nov 25 '18 at 15:56






  • 1





    Maybe you could enable fusion logging and get a hint from these log files?

    – Klaus Gütter
    Nov 25 '18 at 18:23
















0















I have project that references 2 dlls. if the referenced dlls are not strong named the resources load fine and my user controls work. The problem is I had to strong name the referenced DLLs and now my user controls give me a XamlParseException System.Windows.Markup.StaticResourceHolder with an inner of "Could not load file or assembly". I'm guessing the static resource in the app.xaml could not be found or loaded so it thinks the assembly is not loaded. Is there a way around this?



App.Xaml...



 <Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.Dark.xaml" />
<ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.Defaults.xaml" />
<ResourceDictionary Source="pack://application:,,,/MaterialDesignColors;component/Themes/Recommended/Primary/MaterialDesignColor.Grey.xaml" />
<ResourceDictionary Source="pack://application:,,,/MaterialDesignColors;component/Themes/Recommended/Accent/MaterialDesignColor.Red.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>


App.xaml.cs...



 public partial class App
{
protected override void OnStartup(StartupEventArgs e)
{
// referenced to MaterialDesignThemes.Wpf
MaterialDesignThemes.Wpf.DialogHost d = new MaterialDesignThemes.Wpf.DialogHost();
var b = d.IsOpen;

base.OnStartup(e);
var app = new MainWindow();
var context = new MainWindowVM();
app.DataContext = context;
app.Show();
}
}









share|improve this question

























  • This should work fine. Can you please show how you reference the ResourceDictionary?

    – Klaus Gütter
    Nov 25 '18 at 15:26











  • edited OP... could it be the project is .Net 4.6.1?

    – rob morgan
    Nov 25 '18 at 15:31











  • Could you try to instantiate any type defined in the referenced assemblies in the app startup code? Does this work?

    – Klaus Gütter
    Nov 25 '18 at 15:40











  • edited OP added App.xaml.cs... if that is sufficient, then yes it works.

    – rob morgan
    Nov 25 '18 at 15:56






  • 1





    Maybe you could enable fusion logging and get a hint from these log files?

    – Klaus Gütter
    Nov 25 '18 at 18:23














0












0








0








I have project that references 2 dlls. if the referenced dlls are not strong named the resources load fine and my user controls work. The problem is I had to strong name the referenced DLLs and now my user controls give me a XamlParseException System.Windows.Markup.StaticResourceHolder with an inner of "Could not load file or assembly". I'm guessing the static resource in the app.xaml could not be found or loaded so it thinks the assembly is not loaded. Is there a way around this?



App.Xaml...



 <Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.Dark.xaml" />
<ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.Defaults.xaml" />
<ResourceDictionary Source="pack://application:,,,/MaterialDesignColors;component/Themes/Recommended/Primary/MaterialDesignColor.Grey.xaml" />
<ResourceDictionary Source="pack://application:,,,/MaterialDesignColors;component/Themes/Recommended/Accent/MaterialDesignColor.Red.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>


App.xaml.cs...



 public partial class App
{
protected override void OnStartup(StartupEventArgs e)
{
// referenced to MaterialDesignThemes.Wpf
MaterialDesignThemes.Wpf.DialogHost d = new MaterialDesignThemes.Wpf.DialogHost();
var b = d.IsOpen;

base.OnStartup(e);
var app = new MainWindow();
var context = new MainWindowVM();
app.DataContext = context;
app.Show();
}
}









share|improve this question
















I have project that references 2 dlls. if the referenced dlls are not strong named the resources load fine and my user controls work. The problem is I had to strong name the referenced DLLs and now my user controls give me a XamlParseException System.Windows.Markup.StaticResourceHolder with an inner of "Could not load file or assembly". I'm guessing the static resource in the app.xaml could not be found or loaded so it thinks the assembly is not loaded. Is there a way around this?



App.Xaml...



 <Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.Dark.xaml" />
<ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.Defaults.xaml" />
<ResourceDictionary Source="pack://application:,,,/MaterialDesignColors;component/Themes/Recommended/Primary/MaterialDesignColor.Grey.xaml" />
<ResourceDictionary Source="pack://application:,,,/MaterialDesignColors;component/Themes/Recommended/Accent/MaterialDesignColor.Red.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>


App.xaml.cs...



 public partial class App
{
protected override void OnStartup(StartupEventArgs e)
{
// referenced to MaterialDesignThemes.Wpf
MaterialDesignThemes.Wpf.DialogHost d = new MaterialDesignThemes.Wpf.DialogHost();
var b = d.IsOpen;

base.OnStartup(e);
var app = new MainWindow();
var context = new MainWindowVM();
app.DataContext = context;
app.Show();
}
}






c# wpf xaml resourcedictionary






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 25 '18 at 15:51







rob morgan

















asked Nov 25 '18 at 15:19









rob morganrob morgan

307415




307415













  • This should work fine. Can you please show how you reference the ResourceDictionary?

    – Klaus Gütter
    Nov 25 '18 at 15:26











  • edited OP... could it be the project is .Net 4.6.1?

    – rob morgan
    Nov 25 '18 at 15:31











  • Could you try to instantiate any type defined in the referenced assemblies in the app startup code? Does this work?

    – Klaus Gütter
    Nov 25 '18 at 15:40











  • edited OP added App.xaml.cs... if that is sufficient, then yes it works.

    – rob morgan
    Nov 25 '18 at 15:56






  • 1





    Maybe you could enable fusion logging and get a hint from these log files?

    – Klaus Gütter
    Nov 25 '18 at 18:23



















  • This should work fine. Can you please show how you reference the ResourceDictionary?

    – Klaus Gütter
    Nov 25 '18 at 15:26











  • edited OP... could it be the project is .Net 4.6.1?

    – rob morgan
    Nov 25 '18 at 15:31











  • Could you try to instantiate any type defined in the referenced assemblies in the app startup code? Does this work?

    – Klaus Gütter
    Nov 25 '18 at 15:40











  • edited OP added App.xaml.cs... if that is sufficient, then yes it works.

    – rob morgan
    Nov 25 '18 at 15:56






  • 1





    Maybe you could enable fusion logging and get a hint from these log files?

    – Klaus Gütter
    Nov 25 '18 at 18:23

















This should work fine. Can you please show how you reference the ResourceDictionary?

– Klaus Gütter
Nov 25 '18 at 15:26





This should work fine. Can you please show how you reference the ResourceDictionary?

– Klaus Gütter
Nov 25 '18 at 15:26













edited OP... could it be the project is .Net 4.6.1?

– rob morgan
Nov 25 '18 at 15:31





edited OP... could it be the project is .Net 4.6.1?

– rob morgan
Nov 25 '18 at 15:31













Could you try to instantiate any type defined in the referenced assemblies in the app startup code? Does this work?

– Klaus Gütter
Nov 25 '18 at 15:40





Could you try to instantiate any type defined in the referenced assemblies in the app startup code? Does this work?

– Klaus Gütter
Nov 25 '18 at 15:40













edited OP added App.xaml.cs... if that is sufficient, then yes it works.

– rob morgan
Nov 25 '18 at 15:56





edited OP added App.xaml.cs... if that is sufficient, then yes it works.

– rob morgan
Nov 25 '18 at 15:56




1




1





Maybe you could enable fusion logging and get a hint from these log files?

– Klaus Gütter
Nov 25 '18 at 18:23





Maybe you could enable fusion logging and get a hint from these log files?

– Klaus Gütter
Nov 25 '18 at 18:23












2 Answers
2






active

oldest

votes


















1














You could enable fusion logging and get a hint from this log file.
How to enable assembly bind failure logging (Fusion) in .NET






share|improve this answer































    0














    pack://application:,,,/MaterialDesignThemes.Wpf;component - Is "MaterialDesignThemes.Wpf" the name of your assembly? or the namespace?



    Can you try using your assembly (dll) name for reference? Check out
    Pack URI for more details..






    share|improve this answer























      Your Answer






      StackExchange.ifUsing("editor", function () {
      StackExchange.using("externalEditor", function () {
      StackExchange.using("snippets", function () {
      StackExchange.snippets.init();
      });
      });
      }, "code-snippets");

      StackExchange.ready(function() {
      var channelOptions = {
      tags: "".split(" "),
      id: "1"
      };
      initTagRenderer("".split(" "), "".split(" "), channelOptions);

      StackExchange.using("externalEditor", function() {
      // Have to fire editor after snippets, if snippets enabled
      if (StackExchange.settings.snippets.snippetsEnabled) {
      StackExchange.using("snippets", function() {
      createEditor();
      });
      }
      else {
      createEditor();
      }
      });

      function createEditor() {
      StackExchange.prepareEditor({
      heartbeatType: 'answer',
      autoActivateHeartbeat: false,
      convertImagesToLinks: true,
      noModals: true,
      showLowRepImageUploadWarning: true,
      reputationToPostImages: 10,
      bindNavPrevention: true,
      postfix: "",
      imageUploader: {
      brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
      contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
      allowUrls: true
      },
      onDemand: true,
      discardSelector: ".discard-answer"
      ,immediatelyShowMarkdownHelp:true
      });


      }
      });














      draft saved

      draft discarded


















      StackExchange.ready(
      function () {
      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53468922%2fhow-to-load-a-resourcedictionary-from-a-strong-names-assembly%23new-answer', 'question_page');
      }
      );

      Post as a guest















      Required, but never shown

























      2 Answers
      2






      active

      oldest

      votes








      2 Answers
      2






      active

      oldest

      votes









      active

      oldest

      votes






      active

      oldest

      votes









      1














      You could enable fusion logging and get a hint from this log file.
      How to enable assembly bind failure logging (Fusion) in .NET






      share|improve this answer




























        1














        You could enable fusion logging and get a hint from this log file.
        How to enable assembly bind failure logging (Fusion) in .NET






        share|improve this answer


























          1












          1








          1







          You could enable fusion logging and get a hint from this log file.
          How to enable assembly bind failure logging (Fusion) in .NET






          share|improve this answer













          You could enable fusion logging and get a hint from this log file.
          How to enable assembly bind failure logging (Fusion) in .NET







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Nov 26 '18 at 3:22









          Klaus GütterKlaus Gütter

          2,59221422




          2,59221422

























              0














              pack://application:,,,/MaterialDesignThemes.Wpf;component - Is "MaterialDesignThemes.Wpf" the name of your assembly? or the namespace?



              Can you try using your assembly (dll) name for reference? Check out
              Pack URI for more details..






              share|improve this answer




























                0














                pack://application:,,,/MaterialDesignThemes.Wpf;component - Is "MaterialDesignThemes.Wpf" the name of your assembly? or the namespace?



                Can you try using your assembly (dll) name for reference? Check out
                Pack URI for more details..






                share|improve this answer


























                  0












                  0








                  0







                  pack://application:,,,/MaterialDesignThemes.Wpf;component - Is "MaterialDesignThemes.Wpf" the name of your assembly? or the namespace?



                  Can you try using your assembly (dll) name for reference? Check out
                  Pack URI for more details..






                  share|improve this answer













                  pack://application:,,,/MaterialDesignThemes.Wpf;component - Is "MaterialDesignThemes.Wpf" the name of your assembly? or the namespace?



                  Can you try using your assembly (dll) name for reference? Check out
                  Pack URI for more details..







                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered Nov 25 '18 at 19:05









                  Senguttuvan MahalingamSenguttuvan Mahalingam

                  834




                  834






























                      draft saved

                      draft discarded




















































                      Thanks for contributing an answer to Stack Overflow!


                      • Please be sure to answer the question. Provide details and share your research!

                      But avoid



                      • Asking for help, clarification, or responding to other answers.

                      • Making statements based on opinion; back them up with references or personal experience.


                      To learn more, see our tips on writing great answers.




                      draft saved


                      draft discarded














                      StackExchange.ready(
                      function () {
                      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53468922%2fhow-to-load-a-resourcedictionary-from-a-strong-names-assembly%23new-answer', 'question_page');
                      }
                      );

                      Post as a guest















                      Required, but never shown





















































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown

































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown







                      Popular posts from this blog

                      Wiesbaden

                      Marschland

                      Dieringhausen