从文件 URI 构造 BitmapImage 时找不到组件 (0x88982f50)

问题描述

我的程序正在使用用于 WPF 图像的 Uri 构造函数文件加载 BitmapImage。这在我的机器(以及大多数用户的机器)上运行良好,但我的一个用户在从以下相关代码部分构造 BitmapImage 时遇到异常。

private string ImagePath => AppDomain.CurrentDomain.BaseDirectory + "Pickups\\" + Name + ".png";
        
public int Id
{
    get => id;
    set
    {
        id = value;
        Image = new BitmapImage(new Uri(ImagePath));
                
        NotifyPropertyChanged("Id");
        NotifyPropertyChanged("Name");
    }
}

异常的相关部分如下:

No imaging component suitable to complete this operation was found.
at System.Windows.Media.Imaging.BitmapDecoder.SetupDecoderFromUriOrStream(Uri uri,Stream stream,BitmapCacheOption cacheOption,Guid& clsId,Boolean& isOriginalWritable,Stream& uriStream,UnmanagedMemoryStream& unmanagedMemoryStream,SafeFileHandle& safeFilehandle)
at System.Windows.Media.Imaging.BitmapDecoder.CreateFromUriOrStream(Uri baseUri,Uri uri,BitmapCreateOptions createOptions,RequestCachePolicy uriCachePolicy,Boolean insertInDecoderCache)
at System.Windows.Media.Imaging.BitmapImage.FinalizeCreation()
at System.Windows.Media.Imaging.BitmapImage.EndInit()
at System.Windows.Media.Imaging.BitmapImage..ctor(Uri uriSource,RequestCachePolicy uriCachePolicy)
at System.Windows.Media.Imaging.BitmapImage..ctor(Uri uriSource)
at TaintedCain.Pickup.set_Id(Int32 value) in D:\Projects\RiderProjects\TaintedCain\TaintedCain\Pickup.cs:line 38
at TaintedCain.Pickup..ctor(Int32 id,Int32 amount) in D:\Projects\RiderProjects\TaintedCain\TaintedCain\Pickup.cs:line 69
at TaintedCain.Itemmanager..ctor() in D:\Projects\RiderProjects\TaintedCain\TaintedCain\Itemmanager.cs:line 61
at TaintedCain.MainWindow..cctor() in D:\Projects\RiderProjects\TaintedCain\TaintedCain\MainWindow.xaml.cs:line 24
 
 
The component cannot be found. (0x88982F50)

我真的没有办法进一步调试它,因为我的机器上没有出现错误用户尝试过多个发布版本;图像没有丢失或损坏。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)