Visual studio VS2017/VS2019从最近的解决方案列表中以管理员身份运行

Visual studio VS2017/VS2019从最近的解决方案列表中以管理员身份运行,visual-studio,visual-studio-2017,visual-studio-2019,Visual Studio,Visual Studio 2017,Visual Studio 2019,当我从任务栏的最近列表中选择项目时,即通过Explorer/Shell快捷方式打开项目时,我希望以管理员身份运行Visual Studio 2017/2019 我确实使用了设置:属性->快捷方式->高级->以管理员身份运行复选框 不幸的是,这不会导致devenv以管理员身份运行 有没有办法解决这个问题 关闭Visual Studio的所有实例 右键单击任务栏中的Visual Studio 2017/2019图标 右键单击Visual Studio 2017/2019,然后单击属性 单击“打开文件

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

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

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

有没有办法解决这个问题

关闭Visual Studio的所有实例 右键单击任务栏中的Visual Studio 2017/2019图标 右键单击Visual Studio 2017/2019,然后单击属性 单击“打开文件位置”按钮 右键单击该文件夹中的devenv.exe文件,此时会显示 选择疑难解答兼容性 选择故障排除程序 选择需要其他权限的程序 单击测试程序并等待程序启动 然后单击下一步按钮 选择“是”,保存此程序的这些设置 单击“关闭” 从最近的列表重新打开项目
Steve答案中的步骤的效果是添加一个注册表值。您可以通过命令行添加注册表值来避免所有这些步骤。出于某种原因,我发现它需要一段时间才能生效,但是注销/登录应该会使它立即生效

出于某种奇怪的原因,我发现Windows没有检查HKLM。它只是在看香港大学。所以我设置了两个。但对于其他登录的用户来说,HKLM应该会派上用场

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

这将兼顾VS2017和2019。如果只安装了其中一个,请拆下另一个的线路

另外,如果您更改了安装VS的文件夹,那么请更改devenv.exe的路径,或者使用Steve的答案以另一种方式执行此操作

在管理员命令提示符中:

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版本选择器以来,对于VisualStudio的所有早期版本,这也是相同的解决方案。任何否决投票的人要么将其个人化,要么拒绝接受现状。感谢您确认此方法仍然有效,我只需要在尝试之前检查一下:您会认为MS将有一个vs设置——“始终以管理员身份运行”——因为任何非平凡的开发都需要it@pm100不知怎的,有些VS命令VS加载项具有此设置。但我确实同意,VS中的web开发和IIS支持的性质应该提供这种内置功能。如果IIS用于解决方案,则需要管理员权限。VS可能会自动检测到并重新启动请求。仅供参考:这会导致VS在每次启动时都以管理员身份运行。每当我需要安装新版本的VS时,我都会偶然发现这一点。。。现在到2019年,同样的解决方案仍然有效虽然这可能有用,但对于在其他地方安装了此应用程序的人来说,复制和粘贴不起作用,未来版本的VS-或其他人们希望以同样的方式运行的应用程序。当我写这篇文章时,问题的标题明确地说只有VS2017:因为这已经改变了,我添加了几行代码来处理2019年的问题,并对其进行了说明。编辑注册表并不适合所有人。你必须非常小心,否则你会导致整个操作系统崩溃。因此,我将投票并推荐史蒂夫的答案,作为您可能拥有的最安全的解决方案!再说一次,这是我的意见@Vincy:当然可以,但如果您使用的是Visual Studio,您可能对Windows有一两点了解,并且不怕直接修改注册表。查找某些注册表项的用途并不难。