RunAs在Visual Studio中进行调试时的其他用户

moo*_*ogs 75 visual-studio

我正在尝试运行我正在调试的程序作为不同的用户.现在,这可以通过运行exe并从Visual Studio附加来完成,但这很麻烦.

我试图做的是使用"RunAs"命令:

command.com /C runas /env /user:OtherUser DebugTarget.Exe 
Run Code Online (Sandbox Code Playgroud)

但这附在command.com上,Visual Studio需要一个exe.现在我可以创建一个虚拟应用....但任何人都有更好的解决方案吗?

Wat*_*i02 76

另一种非常简单的方法(如上面的链接中所述),不需要任何其他工具:

  • 按住SHIFT键并右键单击以打开Visual Studio的新实例.
  • 点击"以不同用户身份运行" 以不同用户身份运行
  • 在下一个弹出窗口中输入其他用户的凭据
  • 打开您正在使用的相同解决方案

现在,当您调试解决方案时,它将具有其他用户的权限.

(提示:如果要运行多个Visual Studio实例,请更改它的主题(比如"黑暗"),以便您可以轻松跟踪哪个实例.

  • 在Visual Studio 2015之前,我一直使用这种方法很多年。当以其他用户身份运行时,此版本的VS不允许我登录以获取MSDN密钥,因此它只能关闭。有什么解决方法吗? (2认同)
  • 不幸的是,当源代码控制下的解决方案时,运行VS作为另一个用户并不好玩. (2认同)

moo*_*ogs 28

这工作(我觉得很愚蠢):

C:\Windows\System32\cmd.exe /C runas /savecred /user:OtherUser DebugTarget.Exe
Run Code Online (Sandbox Code Playgroud)

以上命令每次都会询问您的密码,因此为了减少挫败感,您可以使用/ savecred.你只被问过一次.(但我认为仅适用于Home Edition和Starter)

  • 知道了,请参阅http://social.msdn.microsoft.com/Forums/en/vsdebug/thread/eeba26cb-2336-4a80-99f4-ca4167d0758c (4认同)
  • 你是如何在Visual Studio中做到这一点的?您是否打开解决方案,构建并以某种方式从Visual Studio运行上述命令?我用的是VS2008. (2认同)
  • @GabrielLuci 这可能会错过一些在您进入该菜单之前运行的代码。更好的选择是将以下内容添加到代码入口点的第一行:`System.Diagnostics.Debugger.Launch();` (2认同)

小智 19

您还可以使用VSCommands 2010以不同的用户身份运行:

替代文字

  • 我应该提到您需要VSCommands Pro才能启用此功能.在Lite(免费)版本中,这些命令似乎可用,但在调用它们时没有任何反应.我用VS2010 Pro试了一下. (6认同)
  • VS 2019 可以使用什么? (2认同)

noe*_*cus 6

我正在使用基于@ Watki02的答案的以下方法:

  1. 按住Shift键单击要调试的应用程序
  2. 以不同用户身份运行
  3. 将调试器附加到应用程序

这样,您可以将您的visual studio实例保留为您自己的用户,同时从另一个调试.