在VS中调试为非管理员
-
05-07-2019 - |
题
我正在做一些WinForms开发,运行XP和VS 2005(古代,我知道)。我想确保我的应用程序可以在没有管理员权限的情况下运行,但我懒得尝试以非管理员身份运行VS,而且我不想登录和退出来测试我的应用程序。
有没有办法可以像非管理员一样调试?
是否有一组代码访问安全属性我可以添加到我的代码中,这将迫使我在与非管理员相同的权限集中运行?
解决方案
从当前登录的桌面会话中以另一个用户身份运行VS.请参阅如何启用和使用“运行方式”在Windows中运行程序时的命令。这意味着您无需登录和退出。
我建议您通过RunAs将目标应用程序作为另一个用户运行,然后通过Debug>将VS Debugger连接到进程(如果需要)。在Visual Studio中附加到处理...菜单项。
其他提示
根据Phil的回答,您可以通过将启动项目设置为:
来自动执行该过程启动外部程序: c:\ windows \ system32 \ runas.exe
使用命令行参数: / noprofile / user:{MachineName} \ {UserName} {ApplicationName} .exe
不幸的是,我认为没有一种自动方法将进程附加到VS调试器(因为安全警告),但通过有条件地调用
#if (DEBUG)
System.Diagnostics.Debugger.Launch();
#endif
只需单击两次,系统就会提示您附加到调试器。
不隶属于 StackOverflow