You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:如何在.NET Core WPF中显示引用项目内的图片?

解决.NET Core WPF引用.NET Framework类库加载图片失败的问题

1. 检查类库中图片的属性设置

  • 右键类库中Images/image1.jpg,选择属性
  • 将生成操作设置为Resource(WPF资源需用此设置,而非Embedded Resource)
  • 确保复制到输出目录设置为不复制(资源会嵌入程序集,无需单独复制)

2. 确认Pack URI的正确写法

引用外部类库资源时,Pack URI必须指定类库程序集名称,格式如下:

<Image Source="pack://application:,,,/CH07.ResourceLibrary;component/Images/image1.jpg" />

注意事项:

  • CH07.ResourceLibrary需与类库项目的AssemblyName完全一致(可查看类库.csproj文件中的<AssemblyName>节点)
  • ;component是固定标识,用于指向程序集内的资源路径
  • 路径区分大小写,需与实际文件夹、文件名完全匹配

3. 验证类库的引用方式

  • 确保主项目采用项目引用类库,而非直接引用dll文件
  • 检查主项目.csproj中的引用节点是否正确:
<ProjectReference Include="..\CH07.ResourceLibrary\CH07.ResourceLibrary.csproj">
  <Project>{类库的GUID}</Project>
  <Name>CH07.ResourceLibrary</Name>
</ProjectReference>

4. 额外排查点

  • 若类库目标.NET Framework版本过高,可能与.NET Core WPF存在兼容性问题,建议降级至.NET Framework 4.7.2及以上(.NET Core 3.0+对该版本兼容性更佳)
  • 手动删除主项目和类库的bin/obj文件夹,再重新生成整个解决方案
  • 尝试用代码加载图片排查XAML问题:
var uri = new Uri("pack://application:,,,/CH07.ResourceLibrary;component/Images/image1.jpg");
var bitmap = new BitmapImage(uri);
imageControl.Source = bitmap;

若代码加载失败,查看调试输出的错误信息,通常会明确提示资源找不到的具体原因

内容的提问来源于stack exchange,提问作者Ifiok Ekott

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 00:43:15