如何在同一个解决方案中调试多个服务作为每个服务的不同用户?

How to debug multiple services in same solution as different users per service?

核心问题

给定一个包含多个项目(一个控制台应用程序和两个服务,以及一些共享库)的解决方案,如果每个服务都需要,我该如何调试解决方案(w/breakpoints 在两个 Web 服务 + 控制台中)到 运行 在它自己的服务帐户下?

理想

设置项目以允许 F5 调试器立即连接到服务和控制台,同时 运行将每个服务置于其自己的帐户下。

项目设置

我有一个包含多个起始条目的解决方案。我已经将它设置为在单击调试时启动每个入口点,但是 运行 进入实际测试的问题,因为数据库需要对每个服务帐户使用 windows 身份验证才能连接,但是这两个服务需要不同的服务帐户。

解决方案:

试过了far/things我不能试

在以前的 VS 版本中,我使用 VSCommands 的 DEBUG AS 来解决这个问题,但是那个项目似乎对 VS 2015 来说已经死了。

试图运行 visual studio自己作为各种服务帐户,但是运行变成了"Trial period expired"消息,如果不是运行宁它自己。

尝试使用 "C:\Windows\System32\cmd.exe /C runas /savecred /user:ServiceAccount#_DEV DebugTarget.Exe",它适用于控制台,但我还不知道如何使用它启动服务。

我不能使用不同版本的 VS,因为我处于锁定的公司环境中并且只安装了 VS 2015。

我可以在经理批准下使用插件,但没有预算,所以像 VSCommands 这样的插件对我来说是一个可以接受的答案,但前提是它是免费的。

我无法更改 SQL 权限,因为每个服务都在与不共享权限的单独物理数据库通信。

编辑:缺少理想的结果块。

解法:

一个想法就是转项目属性把IIS Express改成本地IIS,然后运行两个项目在IIS里两个账号

另一个帖子也在这里讨论了同样的问题:

how to run iisexpress app pool under a different identity