【问题标题】:Visual Studio Run As Admin from Recent solutions list近期解决方案列表中的 Visual Studio 以管理员身份运行
【发布时间】:2017-08-01 02:01:31
【问题描述】:

我想以管理员身份运行 Visual Studio 2017/2019/2022当我从任务栏中的最近列表中选择一个项目时,即。通过 Explorer/Shell 快捷方式打开项目时。

我确实使用了设置:属性 -> 快捷方式 -> 高级 -> 以管理员身份运行复选框。

很遗憾,这不会导致 devenv 以管理员身份运行。

关于如何解决这个问题的任何想法?

【问题讨论】:

    标签: visual-studio visual-studio-2017 visual-studio-2019


    【解决方案1】:
    1. 关闭 Visual Studio 的所有实例
    2. 右键单击任务栏中的 Visual Studio 图标
    3. 右键单击 Visual Studio,然后单击属性
    4. 点击打开文件位置按钮
    5. 右键单击该文件夹中的 devenv.exe 文件
    6. 选择兼容性疑难解答
    7. 选择疑难解答程序
    8. 选择程序需要其他权限
    9. 点击测试程序并等待程序启动
    10. 然后点击下一步按钮
    11. 选择是,保存此程序的这些设置
    12. 点击关闭
    13. 从最近的列表中重新打开您的项目

    【讨论】:

    • 自从引入了 vs 版本选择器以来,这也是 Visual Studio 之前所有版本的相同解决方案。任何投反对票的人要么将其变成个人的,要么拒绝接受现状。感谢您确认此方法仍然有效,我只需要在尝试之前检查一下 :)
    • 你会认为 MS 会有一个 vs 设置——“始终以管理员身份运行”——因为任何非平凡的开发都需要它
    • @pm100 不知何故,VSCommands VS Addin 有这个设置。但我确实同意 VS 中 Web 开发和 IIS 支持的性质应该提供此内置功能。如果将 IIS 用于解决方案,则需要管理员权限。 VS 应该可能会自动检测到并重新启动请求。
    • 仅供参考:这会导致 VS 每次启动时都要求以管理员身份运行。
    • 每当我需要安装新版本的 VS 时,我都会偶然发现这一点......现在到 2019 年,同样的解决方案仍然有效
    【解决方案2】:

    史蒂夫回答中的步骤的效果是添加了一个注册表值。您只需通过命令行添加该注册表值即可避免所有这些步骤。由于某种原因,我发现它需要一点时间才能生效,但是注销/登录应该会立即生效。

    出于某种奇怪的原因,我发现,就我而言,Windows 没有检查 HKLM。它只看HKCU。所以我两个都设置了。但是对于其他登录的用户,HKLM 应该会派上用场。

    还包括为 VSLauncher.exe 设置相同的值,这可以解决其他问题。

    这会同时处理 VS2017 和 2019。如果您只安装了其中一个,请删除另一个的行。

    另外,如果您更改了安装 VS 的文件夹,则将路径更改为 devenv.exe,或者只是使用史蒂夫的答案以另一种方式进行。

    在管理员命令提示符下:

    reg.exe Add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" /v "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\devenv.exe" /d "^ RUNASADMIN"
    reg.exe Add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" /v "C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\devenv.exe" /d "^ RUNASADMIN"
    reg.exe Add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" /v "C:\Program Files (x86)\Common Files\Microsoft Shared\MSEnv\VSLauncher.exe" /d "^ RUNASADMIN"
    
    reg.exe Add "HKCU\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" /v "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\devenv.exe" /d "^ RUNASADMIN"
    reg.exe Add "HKCU\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" /v "C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\devenv.exe" /d "^ RUNASADMIN"
    reg.exe Add "HKCU\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" /v "C:\Program Files (x86)\Common Files\Microsoft Shared\MSEnv\VSLauncher.exe" /d "^ RUNASADMIN"
    

    或者,如果您更喜欢 .reg 文件:

    Windows Registry Editor Version 5.00
    
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
    "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Professional\\Common7\\IDE\\devenv.exe"="^ RUNASADMIN"
    "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Professional\\Common7\\IDE\\devenv.exe"="^ RUNASADMIN"
    "C:\\Program Files (x86)\\Common Files\\Microsoft Shared\\MSEnv\\VSLauncher.exe"="^ RUNASADMIN"
    
    [HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
    "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Professional\\Common7\\IDE\\devenv.exe"="^ RUNASADMIN"
    "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Professional\\Common7\\IDE\\devenv.exe"="^ RUNASADMIN"
    "C:\\Program Files (x86)\\Common Files\\Microsoft Shared\\MSEnv\\VSLauncher.exe"="^ RUNASADMIN"
    

    【讨论】:

    • 虽然这可能有用,但对于在其他地方安装了此应用程序、未来版本的 VS 或人们想要运行的其他应用程序的人来说,它不起作用(复制和粘贴)同样的方式。
    • 好吧,当我写这篇文章时,问题的标题专门说只有 VS2017 :) 既然改变了,我已经添加了处理 2019 的行并对此进行了注释。
    • 编辑注册表并不适合所有人。您必须非常小心,否则最终会导致整个操作系统崩溃。因此,我会投票并推荐史蒂夫的答案作为您可以拥有的最安全的解决方案!再说一次,这是我的看法!
    • @Vincy 当然,但很有可能,如果您使用的是 Visual Studio,您对 Windows 有所了解,并且不怕直接修改注册表。查找某些注册表项的用途并不难。
    猜你喜欢
    • 2020-01-02
    • 2016-03-20
    • 1970-01-01
    • 1970-01-01
    • 2011-05-07
    • 2013-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多