c# - 无法从动态加载的程序集中加载资源

标签 c# wpf

我有一个主应用程序,它从“./plugins”目录加载插件。

这些插件是包含 UserControls 的库程序集,它使用一些图像(资源)。

问题是在主应用程序中使用时找不到图像。

XamlParseException -> Cannot locate resource 'X.png'

我尝试将资源构建为“资源”、“嵌入式资源”和“内容”,但异常仍然存在。

我尝试将图像路径指定为

/X.png

也可以作为(都不起作用)

pack://application:,,,/<PluginAssemblyName>;X.png

我应该如何构建图像资源,以便即使在将程序集作为插件加载后它们也可用?

最佳答案

将资源设置为资源并尝试使用以下 pack URI 语法。对于其他程序集中的资源,您应该使用/AssemblyName;component 语法

"pack://application:,,,/AssemblyName;component/x.png"

关于c# - 无法从动态加载的程序集中加载资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29679894/

相关文章:

wpf - 位图图像异常

c# - 强制创建 WPF 窗口的 native Win32 句柄

c# - WPF转换器无法正常工作

c# - 通过 .NET 将参数传递给 XSLT 样式表

c# - C# 中的 Func<TResult> 是什么?

c# - 如何根据定义使 'struct' 可空?

wpf - 如何使 TreeViewItem 向右水平扩展?

wpf - 如何改变Combobox下拉面板的背景色

c# - 是否可以对 Mailkit 和 Exchange 使用默认网络凭据?

C# Socket TCP 发送,消息获取 "stuck"