我有一个主应用程序,它从“./plugins”目录加载插件。
插件是包含UserControls的库程序集,它使用一些图像(资源)。
问题是在主应用程序中使用时找不到图像。
XamlParseException -> Cannot locate resource 'X.png'
我尝试将资源构建为“资源”,“嵌入式资源”和“内容”,但异常仍然存在。
我尝试将图像路径指定为
/X.png
以及(也不起作用)
pack://application:,,,/<PluginAssemblyName>;X.png
我应该如何构建图像资源,以便即使在将程序集作为插件加载后也可用?
答案 0 :(得分:1)
答案 1 :(得分:1)
设置为资源并尝试使用以下包URI语法。对于其他程序集中的资源,您应该使用/ AssemblyName;组件语法
"pack://application:,,,/AssemblyName;component/x.png"
答案 2 :(得分:0)
您可以使用Assembly.GetManifestResourceNames
获取所有资源及其名称的列表,以便您了解用于检索资源的名称。
答案 3 :(得分:0)
在这里找到我的问题的答案: https://stackoverflow.com/a/2416464/2649340
在插件程序集中,我使用此路径引用图像资源
"/«YourAssemblyName»;component/«YourPath»/«YourImage.png»"
即使这个插件加载到另一个程序集中,它也能正确加载。