每当我在Windows 8中启动Visual Studio 2012时,它总是需要管理员权限才能访问IIS元数据和调试IIS上的本地Web应用程序。
如果关闭UAC,则无法启动Windows 8模拟器!
有谁知道我怎样才能阻止所有这些安全废话,而让我继续工作呢?
每当我在Windows 8中启动Visual Studio 2012时,它总是需要管理员权限才能访问IIS元数据和调试IIS上的本地Web应用程序。
如果关闭UAC,则无法启动Windows 8模拟器!
有谁知道我怎样才能阻止所有这些安全废话,而让我继续工作呢?
Answers:
右键单击Visual Studio 2012的“地铁”图标
单击“打开文件位置”。使用Visual Studio的快捷方式,它将带您进入经典的Windows桌面。
右键单击该快捷方式,然后转到“属性”
点击“高级”
选中“以管理员身份运行”,然后单击“确定”。
从现在开始,它将始终以具有提升特权的管理员身份启动。
您将需要对Visual Studio拥有的每个快捷方式执行此操作。
即,如果您还将Visual Studio固定到任务栏。
右键单击该图标。
右键单击“ Visual Studio 2012”
然后从上面的步骤3进行。
我知道的唯一方法是确保它始终以管理员身份打开(包括从文件关联,跳转列表等打开时):
devenv.exe
在资源管理器中找到文件,例如我的文件在C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\
右键单击devenv.exe,然后选择“故障排除兼容性”
选择“故障排除程序”
选择“此程序需要其他权限”
您需要先让它启动VS,然后再单击“下一步”,然后完成。
非常烦人的是,您不能再通过常规属性对话框来执行此操作。就像微软正在竭力确保Windows 8疏远尽可能多的人一样...
遇到相同的问题,队友建议的对我有用的解决方案是为Visual Studio 2012安装VSCommands,然后打开VSCommands配置,设置IDE增强-常规-始终以提升的权限启动Visual Studio。
在找到此问题之前,我曾在Stack Overflow上发布过有关此问题的信息,然后尝试了此处建议的其他所有答案。我立刻开始遇到一些问题。
当以提升的权限运行VS2012时,我不再能够从资源管理器中将文件拖放到其中,我认为这是因为资源管理器未以提升的权限运行。
然后,当我使用VSCommands始终以提升的权限运行Visual Studio时,除了在解决方案文件中之外,我再也无法通过在资源管理器中双击打开与Visual Studio关联的文件。Visual Studio将打开,但随后我会收到一条错误消息,说There was a problem sending the command to the program.
它们不会打开。
如果我要打开任何非解决方案/项目文件,这使我不得不使用“打开文件”对话框。
尽管至少没有像过去那样没有UI可以关闭UAC,但至少可以通过注册表进行操作。编辑的关键是:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
EnableLUA - DWORD 1-Enabled, 0-Disabled
更改此Windows后,将提示您重新启动。重新启动后,如果您是管理员,将回到拥有管理员权限的所有内容。我上面报告的问题现在也消失了。
要使Visual Studio 在打开任何.sln文件时始终以管理员身份运行:
C:\Program Files (x86)\Common Files\Microsoft Shared\MSEnv\VSLauncher.exe
。VSLauncher.exe
并选择“ 对兼容性进行故障排除”。要使Visual Studio 在直接打开 Visual Studio时始终以管理员身份运行,请对DevEnv.exe文件执行相同的操作。这些文件位于:
C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\devenv.exe
C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\devenv.exe
C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe
C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\devenv.exe
为Visual Studio安装免费的VSCommands扩展(位于Visual Studio扩展库中),然后通过转到工具-> VSCommands->选项-> IDE增强->常规,将其配置为始终使Visual Studio以管理员特权开头。Always start Visual Studio with elevated permissions
然后单击“保存”按钮。
注意: VSCommands当前不适用于VS 2015,但他们的站点表示他们正在努力对其进行更新以支持VS 2015。
我更喜欢选项2,因为:
对我来说,每种解决方案都有一些主要缺点。我出现的唯一好方法是在注册表中进行破解。您可能想阅读我有关此问题的文章(http://daniellang.net/always-run-visual-studio-as-administrator-in-windows-8/)或直接修复它:
转到HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers
并添加名称C:\Program Files (x86)\Common Files\Microsoft Shared\MSEnv\VSLauncher.exe
和值的条目RUNASADMIN
。这将使VS以管理员身份启动。
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers
就可以了。
在将我的项目存储在“我的文档”中时,在带有VS Express 2013的Win8计算机上,出现了问题。我在带有较旧VS的Win7机器上也看到了这一点。当我创建一个新项目/将其移动到其他位置(例如C:/ Programming /)时,它应能正常工作!
一位同事告诉我的一个解决方案是为您的每个解决方案创建Task Scheduler任务。该任务通过加载项目的命令行启动Visual Studio。
这是您必须设置的值:
好的,现在您可以通过右键单击任务并运行它来进行测试。如果效果很好,则在某处创建任务的快捷方式。
右键单击所需的快捷方式,然后选择“创建快捷方式”。这是放入快捷方式的命令行:
C:\ Windows \ System32 \ schtasks.exe / run / tn“ [以上任务名称]”
现在,您可以双击快捷方式以以管理员身份运行解决方案,而无需触发UAC。
编辑:在写完上面的文章后,我在tomssl.com上找到了一篇文章,该文章提供了更灵活的解决方案(不需要为每个解决方案创建任务)。最初的设置比较复杂,但从长远来看更易于使用。