与Windows临时目录相关的问题

CL 2019/11/15 发布 · 2019/11/15 更新 · 7082 次阅读

问题现象

现象1: Exception:目录名称无效。

Exception:
在 MS.Win32.UnsafeNativeMethods.GetTempFileName(String tmpPath, String prefix, UInt32 uniqueIdOrZero, StringBuilder tmpFileName) 在 System.Windows.Media.Imaging.BitmapDownload.BeginDownload(BitmapDecoder decoder, Uri uri, RequestCachePolicy uriCachePolicy, Stream stream) 在

现象2:异常来自 HRESULT:0x80072EE4

Exception:
在 System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo) 在 MS.Win32.WinInet.get_InternetCacheFolder() 在 System.Windows.Media.Imaging.BitmapDownload.BeginDownload(BitmapDecoder decoder, Uri uri, RequestCachePolicy uriCachePolicy, Stream stream) 在 System.Windows.Media.Imaging.LateBoundBitmapDecoder..ctor(Uri baseUri, Uri uri, Stream stream, BitmapCreateOptions createOptions, BitmapCacheOption cacheOption, RequestCachePolicy requestCachePolicy) 在

现象3:Exception:对路径“C:\Users\xxxx\AppData\Local\Temp\WPF\x4aev0kr.mx0”的访问被拒绝

在 System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) 在 System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost) 在 System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options) 在 System.IO.FileHelper.CreateAndOpenTemporaryFile(String& filePath, FileAccess fileAccess, FileOptions fileOptions, String extension, String subFolder) 在 System.Windows.Input.Cursor.LoadFromStream(Stream cursorStream) 在 System.Windows.Controls.GridViewColumnHeader.GetCursor(Int32 cursorID) 在

问题分析

Quicker以及所基于的WPF技术,在许多时候需要使用Windows的临时文件夹保存数据。比如缓存图标,执行脚本,以及wpf某些组件的运行机制。

如果Windows临时文件夹不存在或因为权限等问题无法访问,则可能会造成这些错误。

Windows临时文件夹有几个。

1. Internet 文件临时文件夹。

WPF在下载图片时,会将图片缓存到这个文件夹。如果操作失败,可能会提示 异常来自 HRESULT:0x80072EE4 错误,解决方法是先重启一下电脑看看能不能解决,如果不能可以参考https://getquicker.net/kc/help/doc/error_0x80072ee4

2. Windows临时目录TEMP

TEMP目录的位置是在系统环境变量中设置的,具体位置可以在资源管理器地址栏中输入%TEMP%后打开。

请确保此文件夹的安全设置是正常的,下图中是我电脑的权限设置截图供参考(3个帐号条目的权限相同)

 

· {{comment.createTimeStr}}
{{reply.votePoints}}
回复   – {{reply.createTimeStr}}
回复 x
标签
目录
相关操作