调试器停止时代码仍在运行?

3

在我的应用程序启动时,我连接到一个ssh服务器。我使用SSH.net库。当我启动Visual Studio并打开主wpf视图时,即使我的程序没有运行,Visual Studio也会在后台启动此连接。因此,当我使用调试器启动我的程序时,我会收到“每个套接字地址仅允许使用一次”的异常。 我使用的是Visual Studio 2010 + WPF + Caliburn Micro。

为什么Visual Studio会这样做呢?

敬礼 Markus


听起来像是VS在渲染你的表单时需要评估某些东西,这可能会引发问题。我的第一个猜测是可以修改连接初始化的方式以避免这种情况。 - Brandon Moore
1个回答

0

听起来像是当你打开窗口时,Visual Studio Designer正在打开连接。 可能是因为打开连接的函数在构造函数中,而设计师调用构造函数来显示窗口...

在打开SSH连接的函数中添加以下代码,以防止在设计模式下打开连接:

bool isInDesignMode = System.ComponentModel.DesignerProperties.GetIsInDesignMode(new DependencyObject());
if (isInDesignMode)
     return;

1
非常感谢!只是一条信息:当我将SSH连接方法放入引导程序时,Visual Studio会启动它。当我把它放在主构造函数中时,它就不会启动。 - Rawukal

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接