我的第一个猜测是,该机器上的VS 2017应用程序本身(devenv.exe)被配置为始终以管理员身份运行,请参阅https://technet.microsoft.com/en-us/library/ff431742.aspx以了解如何更改:
要将应用程序标记为始终以管理员身份运行,请执行以下操作:
1. 在“开始”菜单上,找到您想要始终以管理员身份运行的程序。
2. 右键单击应用程序的快捷方式,然后单击“属性”。
3. 在“属性”对话框中,单击“兼容性”选项卡。
4. 执行以下操作之一:
- 要将设置应用于当前登录的用户,请选择“以管理员身份运行此程序”复选框,然后单击“确定”。
- 要将设置应用于计算机上的所有用户并且无论使用哪个快捷方式启动应用程序,请单击“更改所有用户的设置”,以显示应用程序的.exe文件的属性对话框,选择“以管理员身份运行此程序”复选框,然后两次单击“确定”。
另外,还有一些需要管理员帐户才能执行的操作,请参阅https://msdn.microsoft.com/en-us/library/jj662724.aspx。通常使Web开发人员始终以管理员身份运行VS的原因是“将Web应用程序部署到本地计算机上的Internet信息服务(IIS)”和“调试在不同用户帐户下运行的应用程序,例如ASP.NET网站。”
对我来说,它已经按照预期工作了,至少这可以帮助你。 首先问题是如何“设置为管理员模式打开/运行”?
使用Visual Studio 2017快捷方式的“高级按钮”是不够的,因为右键菜单中的方法不使用此快捷方式。
使用兼容性选项卡的方法,就像SergGr已经提到的那样
(https://technet.microsoft.com/en-us/library/ff431742.aspx) 对我有用,我已经能够将其用于文件夹以及解决方案文件!
我已登录为本地管理员组的成员,并将UAC标准设置为Win 8.1。
除了使用兼容性页面之外,另一个可能性是将自己的清单注入到devenv.exe中。两者都不是很干净(我不喜欢整个兼容性层,但它在这里有点帮助)。
您是否尝试过暂时关闭UAC进行测试?或者您如何配置UAC?
如果您按照所描述的方式操作,则资源管理器应该显示正确的UAC消息。
如果这对我有效,但对您无效,请参考(https://marketplace.visualstudio.com/items?itemName=GregTrevellick.OpeninVisualStudio2017Enterprise):
1. 打开notepad.exe并将以下内容粘贴到其中:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\*\shell\VSCode\command]
@="\"C:\\Program Files (x86)\\Microsoft VS Code\\Code.exe\" \"%1\""
这是我的注册表文件,仅在您需要时导出(您不应该需要):
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\*\shell\VSCode\command]
@=hex(2):22,00,43,00,3a,00,5c,00,50,00,72,00,6f,00,67,00,72,00,61,00,6d,00,20,\
00,46,00,69,00,6c,00,65,00,73,00,20,00,28,00,78,00,38,00,36,00,29,00,5c,00,\
4d,00,69,00,63,00,72,00,6f,00,73,00,6f,00,66,00,74,00,20,00,56,00,53,00,20,\
00,43,00,6f,00,64,00,65,00,5c,00,43,00,6f,00,64,00,65,00,2e,00,65,00,78,00,\
65,00,22,00,20,00,22,00,25,00,31,00,22,00,00,00
2. 另存为 VSElevated.reg
3. 前往保存 .reg 文件的位置,双击打开,选择全部是并点击确定。
4. 完成后您的注册表应该如下所示:
我认为原因是你的启动命令中缺少了%1
。加上它应该可以解决问题。