文件拒绝 VS 访问如何解决?

最近开发项目碰到这样一个情形,VS 编辑完某文件后,Ctrl+S(保存)后弹出“文件另存”的弹出框,如果将该文件直接保存到当前文件路径,VS 会弹出提示框——对路径“xxxx”的访问被拒绝,刚开始还以为该文件所在文件夹(假设为F)的只读问题,然后将文件夹 F 只读属性去掉,仍然无法保存,还是访问被拒绝。

关于访问被拒绝类似下图所示

文件拒绝访问
文件拒绝访问

对于这个问题,Google了相关方法并进行尝试,但无济于事。所以只能从该问题出现的原因着手,而要找出该问题出现的原因,就要回顾该问题发生前的相关过程。

在上述问题发生前,为了调试方便,我曾以管理员的身份启动 VS2017,然后对该文件进行修改、编译,而当前出现问题时,我是以非管理员身份启动的 VS2017——这可能是找出该问题原因的唯一突破口。

基于上述思考,不妨做个假设,访问被拒绝的文件应该是有管理员权限(因为之前以管理身份创建并打开),而没有当前(非管理员)用户权限,导致权限不足引发访问拒绝。有了假设后,现进行验证,找到文件然后右键“属性”,再选择“安全”Tab,看到如下结果:

查看文件安全
查看文件安全

真相越来越近,因为看到上图“组或用户名”列表中并没有当前系统用户名,表明当前系统登陆用户并没有该文件的操作权限,所以 VS 会弹出“文件另存”的弹出框。

既然原因找到了,解决方法也随之而来,即给文件添加当前用户权限。点击上图的编辑按钮,添加当前用户名,如下图示:

文件添加用户
文件添加用户

再点击确定以完成用户添加,然后回到上一页,选定当前用户名后勾选权限允许“完全控制”,如下图所示:

添加文件权限
添加文件权限

最后尝试再次保存,结果 OK,不再“访问被拒绝”类似的提示,问题得到解决。

很多问题其实解决方法很简单,关键是如何找出问题发生的原因,而找出问题发生的原因的关键,在于清晰地回顾问题发生前的过程,对每个步骤进行分析判断,而这些都是解决其它问题相通之处。

 

《文件拒绝 VS 访问如何解决?》的相关评论

发表评论

必填项已用 * 标记,邮箱地址不会被公开。