猿问

从动态加载的程序集中加载嵌入式资源

我有一个类库项目,该项目创建一个动态加载到主应用程序中的dll。主应用程序包含我使用的API调用,其中一个调用是将图标图像加载到WPF按钮中。我提供"pack://application:,,,/NamespaceOfMyDll;Component/Resources/embeddedresource.ico" 了我的URI源,下面是尝试加载此图像的代码


var logo = new BitmapImage();

 logo.BeginInit();

 logo.UriSource = new Uri(source);

 logo.EndInit();

该图像是我正在侧面加载的dll的嵌入式资源。这样做会引发异常,表明未找到源。尝试加载图像的项目没有对我正在侧面加载的dll的引用。有没有办法加载图像而不必将其放入主应用程序项目中?


拉风的咖菲猫
浏览 211回答 2
2回答

HUWWW

使用构建操作“资源”而不是“嵌入式资源”解决了该问题。“当您要使用uri链接到资源时,资源用于WPF应用程序。嵌入式资源是WinForms应用程序的嵌入式资源,应通过ResourceManager进行访问。” https://social.msdn.microsoft.com/Forums/vstudio/zh-CN/29b6d203-18fb-40b0-a01f-d5b787ccf3be/build-action-resource-vs-embedded-resource?forum=netfxbcl
随时随地看视频慕课网APP
我要回答