【问题标题】:Debugging with Visual Studio 2012, Windows 8 and User Account Control使用 Visual Studio 2012、Windows 8 和用户帐户控制进行调试
【发布时间】:2012-08-30 08:06:26
【问题描述】:

首先 - 这都是关于 RTM 版本的。并且 Windows 8 对 UAC 进行了一些更改,正如我们都从 http://www.brianbondy.com/blog/id/140/ 了解到的,它不能被无副作用地禁用。

现在问题开始了: 我们的主应用程序需要提升权限(至少是服务器部分)。调试也只能在提升模式下运行 VS 时起作用。但是当我在 VS 的提升模式下启动 Silverlight 项目时,启动调试的 IE 以正常权限启动,并且也无法进行调试。为了让事情变得更复杂,我们并没有在加载所有(700 多个)项目的情况下运行解决方案,而是在命令行中执行大量开发工作(编译、启动、测试)。这也需要提升。

为此目的,UAC 的正确配置是什么:我希望能够调试在 Internet Explorer 中运行的 Silverlight 应用程序、由 VS“F5”启动的任何类型的应用程序、从命令行启动的服务器进程和(可能)C# /XAML Metro 应用程序?

在 Windows 7 中,它只是禁用了 UAC,一切都很好。现在我想与自己的工具集作斗争,对此有一种不好的感觉。

请 - 不要告诉我 UAC 重要且有用。我完全可以接受,但对于开发人员来说,情况略有不同。

【问题讨论】:

    标签: visual-studio windows-8 uac visual-studio-debugging


    【解决方案1】:

    this answer on Superuser:

    我知道的唯一方法是确保它始终以 管理员(包括从文件关联打开时,跳转 列表等)是:

    1. 在资源管理器中找到devenv.exe 文件,例如我在C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\

    2. 右键单击 devenv.exe 并选择“疑难解答兼容性”

    3. 选择“故障排除程序”

    4. 选择“此程序需要额外权限”

    您需要先让它启动 VS,然后它才能让您单击下一步,但是 那么你就完成了。

    非常烦人,你不能只通过正常的方式做到这一点 属性对话框了。这就像微软正在走出他们的 确保 Windows 8 疏远尽可能多的人的方法...

    【讨论】:

    • 这不是真正的答案。我以前试过这个,你不能用这种方式调试 Silverlight(可能还有其他 IE 的东西)。此外,(非提升的)资源管理器无法进行 drang'n'drop。
    【解决方案2】:

    您是否尝试过安装VSCommands 并使用Always start Visual Studio with elevated permissions 选项?我不确定这与使用提升的权限重新启动有何不同,但尝试一下不会有什么坏处。

    我在命令行、调试和其他方面遇到了同样的问题,例如,一旦您以提升的权限运行,您就不能再将文件拖放到 Visual Studio 中,或者在 Visual Studio 运行时打开与 Visual Studio 关联的文件设置为始终以提升的权限运行。这就是我一直禁用 UAC 的原因。

    最后我只是在注册表中关闭了 UAC。这样做我不会错过任何东西。很高兴听到微软在内部使用 Win8 + VS2012 组合的感觉后感觉有多糟糕。

    【讨论】:

    • 我只是补充一点,VSCommands 在项目上下文菜单中具有以管理员身份调试选项,在调试 Web 项目时,它将以管理员身份运行 IE。
    猜你喜欢
    • 1970-01-01
    • 2013-11-18
    • 1970-01-01
    • 2015-07-12
    • 1970-01-01
    • 2016-12-03
    • 1970-01-01
    • 1970-01-01
    • 2012-09-18
    相关资源
    最近更新 更多