运行多启动应用程序不会在发布时停止应用程序,但会在调试时停止它们

Posted

技术标签:

【中文标题】运行多启动应用程序不会在发布时停止应用程序,但会在调试时停止它们【英文标题】:Running Multi Startup Application does not stop the application on Release but stops them on Debug 【发布时间】:2012-07-12 05:31:35 【问题描述】:

我对 Visual Studio 2010 的调试和发布构建运行的区别有疑问。我有一个解决方案,它有两个项目 A 和 B。A 依赖于 B,并通过进程间通信 IPC 调用 B 的方法。

以下是场景:

CASE A:
Run B only 
- Stops the window when you click the STOP button on both on Debug and Release

CASE B:
Multi Startup Run Both A and B (Both action are set to "Start"):
- Irregardless of the order of run, 
  On Release run, A is STOP but B is not stopped 
  On Debug run, B and A are both stopped

我想知道在调试和发布版本的 Visual Studio 上运行多重启动时有什么区别。我能想到的奇怪的事情是 B 在启动时注册了一个 IPCServiceChannel。但是为什么问题是B在我自己运行时可以正常停止。

IpcServerChannel serverChannel = new IpcServerChannel("ProcessName");
ChannelServices.RegisterChannel(serverChannel, true);

有什么建议可以解决这个问题吗?

【问题讨论】:

【参考方案1】:

为多个项目设置多启动需要为每个项目设置操作

操作,例如:无、启动和启动而不进行调试

还有一件更重要的事情是您需要设置项目的启动顺序

例如,如果您希望您的服务器首先启动,但如果它在顺序中是最后一个,那么它将按顺序最后启动。您必须先移动服务器项目才能执行,然后按顺序执行其余的项目

结论:在多启动项目中,您必须为每个项目设置动作和顺序

【讨论】:

是的,我在问题中忘记了这一点。我已经将它们都设置为开始。问题不是因为进程没有启动,而是因为进程没有停止。 @Nap 检查你的发布和调试配置有什么不同,可能会有所帮助

以上是关于运行多启动应用程序不会在发布时停止应用程序,但会在调试时停止它们的主要内容,如果未能解决你的问题,请参考以下文章

当应用程序在后台运行时无法找到位置更新

程序不能在 Win XP 上运行,但会在 Win7 上运行

Swift 4:UITableViewCell 在初始加载时不会显示数据,但会在第二次加载时加载

故障安全插件不会在一个项目上运行,但会在另一个项目上运行——为啥?

Python不会在bash中运行,但会在cmd中运行[重复]

每当应用程序被杀死时服务停止