You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何阻止Visual Studio 2017创建管理员所有且只读的项目文件?

解决Visual Studio 2017非管理员运行时文件权限问题

我之前帮团队里的小伙伴解决过完全一样的问题,这明显是UAC权限继承或者VS运行上下文导致的,给你几个实操性强的解决方案:

方案1:修改Visual Studio的运行权限配置

首先确认VS没有以管理员权限的上下文运行(哪怕你没手动勾选,可能系统默认继承了权限):

  • 找到VS2017的主程序devenv.exe,默认路径是C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\devenv.exe(根据你的VS版本调整路径,比如Community版把Professional换成Community)
  • 右键程序→属性→切换到兼容性选项卡
  • 取消勾选「以管理员身份运行此程序」,然后点击「更改所有用户的设置」,确保全局设置里也没有勾选这个选项
  • 点击确定后重启VS,再创建新项目测试

方案2:重置项目存放文件夹的权限

如果是文件夹本身的权限继承导致新生成的文件归Administrators组,直接调整文件夹权限:

  • 找到你存放项目的根文件夹(比如D:\VSProjects),右键→属性安全选项卡
  • 点击「编辑」→「添加」,输入你的非管理员用户名,点击「检查名称」确认后添加到权限列表
  • 给这个用户分配完全控制权限(至少要包含「修改」「写入」「读取和执行」)
  • 勾选窗口底部的「将所有子对象权限条目替换为可继承的权限条目」,然后点击应用→确定
  • 这个操作会把文件夹下所有已有文件和子文件夹的权限批量更新,之后新生成的文件也会继承你的用户权限

方案3:禁用UAC虚拟化(谨慎操作)

如果是UAC虚拟化把VS的文件写入重定向到了管理员上下文,可以尝试关闭虚拟化:

  • 按下Win+R输入regedit打开注册表编辑器
  • 导航到路径:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
  • 找到EnableVirtualization(如果没有就右键新建DWORD(32位)值,命名为这个),将其值改为0
  • 重启电脑后生效,注意:这个设置会影响整个系统的UAC虚拟化功能,如果公司有域策略限制,可能会被重置

方案4:调整VS项目模板的权限

如果新创建的项目从模板继承了管理员权限,修改模板目录的权限:

  • 找到VS2017的项目模板目录,默认路径是C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\ProjectTemplates
  • 右键该目录→属性安全选项卡,给你的非管理员用户添加「写入」权限
  • 这样新创建的项目会基于权限正确的模板生成,文件归属就会是你的用户而不是Administrators组

额外提示

  • 如果你在公司域环境下,以上操作可能被组策略限制,建议先联系IT部门确认权限设置
  • 不要随意修改系统盘根目录或系统文件夹的权限,只针对你自己的项目存放目录操作

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

火山引擎 最新活动