问题描述
我的程序正在使用用于 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 (将#修改为@)