【问题标题】:Visual Studio 2017 - Open in Visual Studio from Explorer - Permission ErrorVisual Studio 2017 - 从资源管理器在 Visual Studio 中打开 - 权限错误
【发布时间】:2017-08-05 12:05:38
【问题描述】:

我正在使用 VS 2017 企业版。

我已将其设置为在适用于 SLN 文件的管理员模式下打开/运行。

但是,我通过右键单击资源管理器中的文件夹来尝试新的“在 Visual Studio 中打开”功能。我收到以下权限错误。我尝试的每个文件夹都会发生这种情况。

VS Code 没有问题。

还有什么我需要启用的吗?

【问题讨论】:

  • 我在使用不同版本的 VS 2017 的所有计算机中也有同样的问题。重要的是要记住,仅当您在文件夹而不是文件上选择此选项时才会发生此错误。该错误不是VS产生的,是资源管理器抛出这个错误。
  • @Daniel 谢谢。所以我假设您还没有找到解决方案?

标签: visual-studio visual-studio-2017


【解决方案1】:

我的第一个猜测是 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 网站。”

【讨论】:

    【解决方案2】:

    对我来说,它已经发挥了应有的作用,至少这可以帮助你。 第一个问题是您如何“设置以管理员模式打开/运行”?

    使用 Visual Studio 2017 快捷方式的“高级按钮”是不够的,因为带有鼠标右键的方法不使用此快捷方式。

    使用 SergGr 已经提到的兼容性选项卡的方法
    (https://technet.microsoft.com/en-us/library/ff431742.aspx) 对我有用,我已经能够将它用于文件夹以及解决方案文件!

    我以本地管理员组和 UAC 标准设置的成员身份登录到 Win 8.1。

    不使用兼容性页面的另一种可能性是将自己的清单注入 devenv.exe。两者都不是很干净(我不喜欢整个兼容层,但它在这里有点帮助)。

    您是否尝试过暂时关闭 UAC 进行测试?或者你是如何配置 UAC 的?

    如果您按照描述的方式进行操作,则资源管理器应该会提供正确的 UAC 消息。

    【讨论】:

    • 不幸的是,UAC 已经关闭。此外,我将 VS 设置为在加载时以管理员身份运行。此错误仅在尝试通过资源管理器打开文件夹时发生。但是,打开一个解决方案可以正常工作。
    • @aherrick,我说的是您可能应该清除该设置,因为这是错误的原因。但是,关闭 UAC 的事实减少了我是对的机会。您的用户实际上是“管理员”组的成员吗?
    • @aherrick:不幸的是,你只是重复了上面的信息。但首先我想知道您如何将 VS 设置为在加载时以管理员身份运行。正如我指出的那样,至少有三种不同的方法。对我来说,显然,您的系统存在配置问题。所以有必要改变一些东西。您的错误消息与 UAC 密切相关,所以当您说,您将其关闭时,您的系统上关于权限/UAC 配置确实有问题。那么第二个问题是你是如何关闭 UAC 的?
    • .. 也许您尝试重新激活 UAC,至少是暂时的,以了解您的系统有什么不同?因为通常这可以完美地与 UAC 配合使用。您是否有可能在系统上为 UAC 使用了一些 Windows 策略开关,而不是在 GUI 中以“正常”方式将其关闭?我,自从 Vista 之后我就没有看到这个错误消息了。(顺便说一句,你使用的是哪个 Windows 版本?)
    • 我刚刚进入 UAC 设置并将滑块一直移动到底部。我暂时将备份移了回来,仍然是同样的错误。将其移回(将其关闭)并仍然看到它。
    【解决方案3】:

    这对我有用,如果不适合你,请参考 (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。这应该解决它。

    【讨论】:

    • 嗨。我对你的回答感到困惑。你在引用 VS Code 吗?这里的问题在于 VS2017
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-08
    • 2014-02-03
    • 1970-01-01
    • 1970-01-01
    • 2013-12-19
    相关资源
    最近更新 更多