101

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

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

不幸的是,这不会导致 devenv 以管理员身份运行。

有想法该怎么解决这个吗?

4

2 回答 2

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

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

出于某种奇怪的原因,我发现就我而言,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"
于 2017-03-28T14:30:13.493 回答