在Windows7中,您可以进入程序兼容性设置并选中以始终以管理员身份运行。在Windows8中有类似的选项吗?
我一直在我的机器上禁用UAC,在我升级Windows8之后,我也这样做了,大概我是这么想的。结果是没有off选项,只关闭了通知。
这意味着即使在管理员组中,也不会以管理员身份运行任何内容。当我尝试调试(附加到进程,而不是f5)时,我需要继续关闭并重新打开控制台Visual Studio,这非常令人沮丧。
当我第一次进行调试时,我需要记住以管理员的身份打开它,或者告诉它关闭并重新打开,这真的很烦人。
- 我认为这是一个有效的问题,但我认为你也应该问超级用户-可能会有一个普遍的答案。
- 如果需要以管理员身份启动VS,那么您的文件权限是错误的。他们很容易与无人机残障人士打交道。
- @在IIS上运行ASP.NET应用程序需要济慈管理权限(因为它将尝试自动创建虚拟目录等)。
- @我觉得,程序应该在需要时以管理员身份运行。通常情况下,它们应该在较低的船舱下运行。我就是这么做的。
在Windows 8&10中,您必须右键单击devenv.exe,然后选择"疑难解答兼容性"。
选择"故障排除程序"
选中"程序需要附加权限"
单击"下一步"
单击"测试程序…"
等待程序启动
单击"下一步"
选择"是,保存此程序的这些设置"
点击"关闭"
如果打开Visual Studio时,它要求保存对devenv.sln的更改,请参见此答案以禁用它:
禁用Visual Studio Devenv解决方案保存对话框
如果您改变主意并希望撤消"以管理员身份运行"兼容性设置,请参见此处的答案:如何修复Visual Studio 2015中无法识别的GUID格式
- 这是我遇到的最好的解决方案。现在我可以再次从Windows资源管理器打开.sln文件了!
- 同样,它还解决了钉住的解决方案能够以管理员身份运行。谢谢。
- 如果安装了多个版本的Visual Studio,也可以在C:\Program Files (x86)\Common Files\Microsoft Shared\MSEnv\VSLauncher.exe文件上执行此操作。另外,devenv.exe文件的默认路径是:Visual Studio 2010-C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe。Visual Studio 2012-C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\devenv.exe
- 在Windows8中运行VS2012时,我认为此选项不可用
- @格里格先生,它肯定在Windows8上工作。我只是按照上面的步骤操作,并让VS2012始终以管理员模式运行。
- 战俘!@Seany84你说得对。我把说明解释错了,现在一切都很好用。
- 我在Windows8上使用了这个解决方案,现在我无法通过dbl在资源管理器中单击打开与vs相关的任何文件。我也找不到一种方法来禁用你建议我们尝试的内容。当我再次尝试运行疑难解答时,取消选中它什么也不做,当再次运行时它会再次选中。
- 好吧,在做了很多改动之后,我通过选中引用另一个版本的Windows的框并选择Windows7来禁用它,同时取消选中需要提升权限的框。你们能在打开资源管理器文件的同时完成这个任务吗?
- 你怎么把它还原成原来的样子?
- @robertkoritnik这相当于在HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers下添加名为C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe和值为RUNASADMIN的注册表项。删除条目将恢复设置。
- 如果,由于某种原因,这对你不起作用(就像对我一样),请将上面的条目添加到HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers中。
- 这是Windows 8的修复程序,通过设置右键单击>属性>以管理员身份运行,任务栏中的应用程序可以以管理员身份运行,但任何快捷方式都不会以管理员身份运行。这两者都可以修复。
- 哇,它在Windows8.1的Visual Studio 2013上对我很有用,谢谢。
- 在第6步之后,它可能会说"保存设置"。等一下,我花了2分钟。
- 按照这些步骤,我得到了一个错误,因为某些原因说"devenv.exe不兼容"。我听从了Piotr Szmyd的建议。这解决了问题。谢谢!
- 进行这种更改不是一个好主意-当您双击其他文件时,会出现一个错误("向程序发送命令时出现问题")。这个问题描述如下:rihanmeij.wordpress.com/2010/06/03/…
- 适用于VS2013和Windows 8.1,非常感谢!
- 如果试图打开虚拟驱动器(由SUBST创建)的VS解决方案,则此解决方案不起作用。
- 要还原,只需在疑难解答兼容性时选择"尝试推荐设置"
- Windows8.x怎么会这么糟糕?我发现很多好东西被移除了,很多坏东西被添加了。他们是想给用户带来痛苦吗?
- 适用于Windows 10/VS2015
- @Rushonerok是的,它适用于Windows10,VS2015。到devenv.exe的路径是C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe。
- 或者,只需转到程序的属性,选择"快捷方式"选项卡>"高级…",然后勾选相应的框。
- 此解决方案也适用于Windows 2012 R2和Visual Studio 2013。右键单击devenv.exe,选择"兼容性"选项卡,单击"运行兼容性疑难解答",单击"疑难解答程序",然后选中"该程序需要其他权限"
- 此链接blog.davidjs.com/2015/09/…很有用。
- 你如何阻止它的提示?
- @演示您需要在Windows中禁用用户帐户控制。不幸的是,这对所有应用程序都禁用了它,并且不是真正理想的。我学会了接受提示。通常我一天只遇到两次提示,这对我来说是可以接受的。
- 我该如何扭转这种变化?我已经试过了,但还是有问题。Visual Studio与以前不同。
- @用户2481095请检查前面的注释。不走运?
- 在我的Windows10版本上,右键单击不再显示"疑难解答兼容性"。我所做的是:在任务栏搜索框中,输入"运行程序",然后单击"运行为以前版本的Windows生成的程序"。然后在列表中选择Visual Studio,其余内容相同。
- 在Windows10vs2017中,这对我很有用;尽管设置有点简单:在选项卡兼容性中,有一个选项"以管理员身份运行这个程序"。选中后,我可以单击固定解决方案,VS2017将以管理员身份打开。
- 我制作了一个*.reg文件来应用vs 2017的运行方式管理设置和版本选择器:gist.github.com/liamdawson/3515d9571079bb2ba98C81277654ee23
- @liamdawson,这假设您运行的是64位版本的Windows。我相信大多数开发人员都是,这只是一个观察结果:)
在查看超级用户之后,我发现了这个问题,它解释了如何使用开始屏幕上的快捷方式来完成此操作。同样,当Visual Studio固定到任务栏时也可以这样做。在任一位置:
右键单击Visual Studio图标
去Properties。
在Shortcut tab下,选择Advanced。
检查Run as administrator。
与Windows7不同的是,只有从更改的快捷方式启动应用程序时,这才有效。在更新了两个Visual Studio快捷方式之后,当您从资源管理器打开解决方案文件时,它似乎也可以工作。
更新警告:以提升的权限运行Visual Studio的主要缺陷之一似乎是,由于资源管理器没有使用它们运行,因此无法将文件拖放到Visual Studio中进行编辑。您需要通过"文件打开"对话框打开它们。也不能双击任何与Visual Studio相关联的文件并在Visual Studio中打开它(除了看起来的解决方案),因为一旦取消选中"始终以提升的权限开始"(使用vscommands),就会收到一条错误消息,提示There was a problem sending the command to the program.",然后我就可以直接打开文件并将它们放到Visual Studio的打开实例中。O
更新大胆:尽管没有像过去那样关闭UAC的UI,但至少我看到了,您仍然可以通过注册表来关闭UAC。编辑的关键是:
1 2
| HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
EnableLUA - DWORD 1-Enabled, 0-Disabled |
更改此窗口后,将提示您重新启动。重新启动后,如果您是管理员,您将返回到具有管理员权限的所有运行状态。我上面提到的问题现在也不复存在了。
- 如果您关闭UAC,一些地铁应用程序,如SkyDrive将不再工作。
- 对于Windows8,下面Tigershark(在Explorer中右键单击devenv.exe,疑难解答..)给出的答案似乎是一个更完整的解决方案。
- 如何在Windows8中"转到属性"?在我的零售版w8pro的开始屏幕上,这不是一个选项。
- @右键单击开始屏幕中的图标,然后选择"打开文件位置"。这将打开保存快捷方式的文件夹,然后您可以从中查看其属性。
- @不,不是我的地铁应用程序!<讽刺> >
- 地铁应用程序很受欢迎。结束。
- 这也适用于无法识别的guid格式。
- 像这个选项一样,更容易应用
注意:在最新的vs版本(2015年以上)中,此扩展似乎不再存在/具有此功能。
您还可以下载vs2012的vscommands by squared infinity,它有一个功能可以将其更改为以管理员身份运行(以及其他一些很酷的片段)。
更新
您可以使用Tools->Extensions and Updates,选择Online,搜索vscommands,从Visual Studio菜单栏安装命令,然后根据使用2012或2013(或更高版本)选择VSCommands for Visual Studio 20XX,并下载和安装。
- 我在更新了快捷方式权限后安装了这个,所以我不确定这有什么不同。除了这个插件的管理权限之外,还有一些很好的功能值得自己检查。
- 当您从任务栏快捷方式的快速访问菜单启动项目时,vscommands功能也可以工作。太棒了!
- 我喜欢命令
- @Briansurowiec它所做的是将一些东西放入vs的启动中,这样,如果它不与admin一起运行,它将自己杀死,并使用admin权限启动一个新实例。
- 截至2015年,vscommands似乎已经死了…
- @戴维因茨可悲地说的是真的。我想他已经停止了。我已经编辑了答案来记录这一点。
在Windows 8"开始"菜单上,选择"所有应用程序"
右键单击Visual Studio 2010图标
选择打开文件位置
右键单击Visual Studio 2010快捷方式图标
单击高级按钮
选中"以管理员身份运行"复选框
单击确定
- 回答很好,但只有从图标启动时才能工作,而不是右键单击图标并启动固定解决方案。在Windows8和10上进行了尝试,到目前为止,只有疑难解答方法对我启动钉住的解决方案有效。
这是我对超级用户类似帖子的回答:
选项1-将vslauncher.exe和devenv.exe设置为始终以管理员身份运行
要使Visual Studio在打开任何.sln文件时始终以管理员身份运行,请执行以下操作:
导航到C:\Program Files (x86)\Common Files\Microsoft Shared\MSEnv\VSLauncher.exe。
右键单击VSLauncher.exe并选择故障排除兼容性。
选择故障排除程序。
选中该程序需要附加权限,然后单击"下一步"。
单击测试程序…启动按钮vs.
单击下一步,然后单击是,保存此程序的这些设置,然后单击关闭按钮。
要让Visual Studio在直接打开Visual Studio时始终以管理员身份运行,请对devenv.exe文件执行相同的操作。这些文件位于:
Visual Studio 2010
C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe
Visual Studio 2012版
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\devenv.exe
Visual Studio 2013版
C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\devenv.exe
Visual Studio 2015版
C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe
Visual Studio 2017年
C:\Program Files (x86)\Microsoft Visual Studio\2017\[VS SKU]\Common7\IDE\devenv.exe
选项2-对Visual Studio使用vscommands扩展
安装Visual Studio的免费vscommands扩展(位于Visual Studio扩展库中),然后将其配置为始终具有Visual Studio的管理员权限,方法是转到"工具"->"vscommands"->"选项"->"IDE增强"->"常规",然后选中"EDOCX1"(7),然后单击"保存"按钮。
注:vscommands目前不适用于vs 2015,但是他们的网站说他们正在努力更新它以支持vs 2015。
我的意见
我更喜欢选项2,因为:
- 它还允许您轻松关闭此功能。
- vscommands还有很多其他的重要功能,所以我总是安装它。
- 这比选项1简单。
- Windows 10-每次打开.sln文件vs 2015时都会询问我是否要保存对devenv.exe的更改
- @Frenkyb您是否完成了与2015年相比选项1所列的步骤?将其设置为以管理员身份运行应该可以解决该问题。stackoverflow.com/a/14423461/602585
- 它现在起作用了。我刚刚保存了devenv.exe,它不再抱怨了。
vscommands对我不起作用,在我安装了Visual Studio 2010(Visual Studio 2012除外)时导致了一个问题。
经过一些试验,我找到了窍门:
到HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers添加一个名为"C:\Program Files (x86)\Common Files\Microsoft Shared\MSEnv\VSLauncher.exe"和值为"RUNASADMIN"的条目。
这应该能解决你的问题。我也写过博客。
- 出于某种原因,这对我不起作用,但是添加HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers中的条目反而起了作用。
- 这个答案在功能上与前两个不一样吗?
我在EightForums(选项8)上找到了一个简单的方法,在hkey_current_usersoftwaremicrosoftwindows ntcurrentversionappcompatflagslayers下创建一个字符串值。将程序路径的名称和值设置为~runasdmin。下次打开程序时,它将以管理员身份打开
1 2
| [HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
"C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\Common7\\IDE\\devenv.exe"="~RUNASADMIN" |
我知道这有点晚了,但我只是通过修改(阅读,"黑客")devenv.exe文件的清单来解决这个问题。我应该先到这里来,因为所述的解决方案似乎要简单一点,而且可能会得到微软的支持。:)
我是这样做的:
在VS中创建一个名为"exe清单"的项目。(我想任何版本都可以,但我用的是2013 Pro。而且,你给它起什么名字并不重要。)
"将现有项"添加到项目中,浏览到Visual Studio exe,然后单击"确定"。在我的例子中,它是"C:Program Files(x86)Microsoft Visual Studio 12.0Common7idedevenv.exe"。
双击"devenv.exe"文件,该文件现在应作为项目中的文件列出。它应该在资源编辑器中显示exe。
展开"rt_manifest"节点,然后双击该节点下的"1"。这将在二进制编辑器中打开可执行文件的清单。
找到requestedExecutionLevel标记,并将"asinvoker"替换为"requiredMinistrator"。A la:。
保存文件。
您刚刚保存了添加到项目中的可执行文件的副本。现在,您需要备份原始文件并将修改后的exe文件复制到安装目录中。
正如我所说,这可能不是正确的方法,但它似乎有效。如果有人知道任何负面影响或必要的手腕拍打需要发生,请插话!
- 如果您这样做,那么就不可能以用户身份运行应用程序,并且不应允许以管理权限运行任何内容,除非出于已知、良好的原因(如自动配置IIS)需要这些权限。
如果您像我一样使用total commander,那么您应该对total commander执行相同的操作,以便始终以admin身份运行。然后,您可以在同一个SQL Server管理实例中双击打开SQL文件,或者双击打开任何Visual Studio文件,而不打开多个实例。
此疑难解答程序将注册表值添加到任何程序的HKEYU CURRENTUSERSOFTWAREMicrosoftWindows NTCurrentVersionAppCompatflagslayers,因此如果您想直接写入,可以。
- 它基本上向该注册表路径添加了一个新的字符串值,名称是可执行文件的完整路径(不带引号),数据是RUNASADMIN,以备手动执行。
只需在程序文件目录(或其他位置)中找到程序。右键单击exe文件,在底部的第二个选项卡上,选中强制以管理权限运行该程序的复选框。从现在起,所有exe文件的快捷方式都将以管理权限激发:)
- 这不是Win8的工作原理…
- 我仍然在使用这个提示,我的胜利8.1-和它的工作。
- 这适用于"属性"窗口具有兼容性选项卡的所有系统,而Windows 8没有兼容性选项卡(尽管Windows 8.1有兼容性选项卡)。
在Visual Studio上单击鼠标右键,并在每次要打开它时选择"以管理员身份运行"。
此外,您还可以检查兼容性故障排除
- 右键单击Visual Studio>选择"疑难解答兼容性"。
- 选择故障排除程序。
- 检查程序是否需要其他权限。
- 点击测试程序。
- 等待程序启动。单击"下一步"。
- 选择"是",保存此程序的这些设置。
- 等待解决问题。
- 确保最终状态为"已修复"。单击"关闭"。
检查详细步骤链接。
- 这里的语言没有意义,答案也不能解决问题。这个问题不包含对错误消息的引用,错误消息不会"导致"任何事情。
如果项目的应用程序清单指定了一个管理requestedExecutionLevel,Visual Studio会自动提升自身,因此您只需要编辑它。Visual Studio将检测到这一点,并在需要时以管理员身份重新启动自己。