3

我有这个确切的问题:

Visual Studio 需要在 Windows 7 中提升权限

但是我对那里的任何答案都不满意,所以我想知道是否有人可以扩展替代解决方案。

设置

  • 开发盒正在运行服务器 2008
  • 视觉工作室 2010
  • IIS 7

为了附加到在 IIS 下运行的进程,我被告知我需要以管理员身份运行 Visual Studio。如果我这样做,每当我编辑一个文件并将其签入源代码控制时,其他用户(不是管理员)就无法编辑该文件,因为该文件现在需要提升的权限才能编辑!引起巨大的头痛,因此基本上以管理员身份运行 VS 似乎不是一种选择。

有没有人有其他选择?

4

4 回答 4

2

附加到在不同用户凭据或更高完整性级别下运行的进程需要 SE_DEBUG 权限,应用程序在以管理员身份运行时获得该权限。您的 IIS AppPool 很可能未配置为在您的帐户下运行,因此需要提升权限。

从 Windows Vista 开始,SE_DEBUG 特权对于不以管理员身份运行(或更准确地说,不以高完整性级别运行)的进程禁用。

来自MSDN

某些管理 Windows 权限只能分配给至少具有高完整性级别的访问令牌。如果访问令牌完整性级别低于高,则不允许特定的管理权限并将其从访问令牌中删除。与高完整性级别相关的管理权限是:

...

SE_DEBUG_PRIVILEGE
...

这里开始

SeDebugPrivilege - 需要调试和调整另一个帐户拥有的进程的内存。用户权利:调试程序。

于 2012-10-10T14:33:50.107 回答
1

在这里游戏有点晚了,但我发现如果你安装了 Visual Studio 的远程工具并在本地安装它,你就可以附加到w3wp.exe而不必在提升的权限下运行!

于 2014-03-19T11:24:13.720 回答
1

如果您转到网站项目的属性,然后单击“网络”选项卡,然后选择“使用本地 iis Web 服务器”选项,您就可以“正常”调试。这对我们有用,无需提升权限。

于 2012-10-10T14:30:51.527 回答
1

给予这个特权

1) 从命令提示符运行 GPEDIT.MSC。

2) 导航到

本地计算机策略 -> 计算机配置 -> Windows 设置 -> 安全设置 -> 本地策略 -> 用户权限分配 -> 调试程序并添加用户。*

*你也应该知道如果你授予某人 SeDebugPrivilege,你放弃了农场

http://social.msdn.microsoft.com/Forums/en-US/0f394922-4d3d-4c00-8bc1-88aeeeedd843/how-to-add-a-user-to-debug-users-group?forum=netfxbcl

更新

这也行不通。

另一种方法是,如“Professional Visual Basic 2012 and .NET 4.5 Programming”一书中所述:转到 bin/debug 文件夹并在调试器之外手动启动 ProVB2012_Security.exe 可执行文件。但无论哪种情况,您现在都应该被提示授予管理员权限...

于 2014-08-26T23:27:43.087 回答