How to load a ResourceDictionary from a strong names assembly?
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
|
show 5 more comments
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
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
|
show 5 more comments
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
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
c# wpf xaml resourcedictionary
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
|
show 5 more comments
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
|
show 5 more comments
2 Answers
2
active
oldest
votes
You could enable fusion logging and get a hint from this log file.
How to enable assembly bind failure logging (Fusion) in .NET
add a comment |
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..
add a comment |
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
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
You could enable fusion logging and get a hint from this log file.
How to enable assembly bind failure logging (Fusion) in .NET
add a comment |
You could enable fusion logging and get a hint from this log file.
How to enable assembly bind failure logging (Fusion) in .NET
add a comment |
You could enable fusion logging and get a hint from this log file.
How to enable assembly bind failure logging (Fusion) in .NET
You could enable fusion logging and get a hint from this log file.
How to enable assembly bind failure logging (Fusion) in .NET
answered Nov 26 '18 at 3:22
Klaus GütterKlaus Gütter
2,59221422
2,59221422
add a comment |
add a comment |
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..
add a comment |
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..
add a comment |
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..
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..
answered Nov 25 '18 at 19:05
Senguttuvan MahalingamSenguttuvan Mahalingam
834
834
add a comment |
add a comment |
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.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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
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