2010-01-21 21 views
1

对于我的VB.NET应用程序,我使用的是Visual Studio附带的Windows安装程序。我可以在我们办公室的任何一台计算机上成功安装和运行我的程序,除了一台。在这台特定的机器上,我的程序在载入主表单之前会停顿大约30秒。当我启动任务管理器时,CPU徘徊在0到1%左右,所以它没有做任何事情,只是冻结了。它最终会加载,但它真的不需要这么长时间,尤其是当它在其他计算机上立即加载时。现在这台机器是windows xp serverice pack 3和.net 3.5 sp1。你们能想到会导致这种情况的任何事吗?WinForms窗体在一台机器上启动时挂起

+0

错误安装的.net框架可能? – 2010-01-21 20:43:28

+0

你在主窗体的加载事件处理程序中有什么? – Ken 2010-01-21 20:47:45

+0

当你在该机器上运行该程序时会发生这种情况,对吧?那么它与部署无关! – 2010-01-21 20:47:38

回答

3

你可以使用Process Monitor找出你的程序正在做什么,而它是在拖延。也许它试图访问一些不可用的网络资源,并且需要等待一段时间...

+0

好吧,生病给这个镜头,看看会发生什么。 – broke 2010-01-21 21:01:39

1

您是否每次加载应用程序或第一次都得到这个结果?如果是后者,你可能会发现它。

应用程序是否连接到任何外部资源?例如,数据库或网络共享。如果是这样,你可以测试一下周围的情况吗?

+0

每次加载。它连接到计算机上的本地版本的SQL,而不是在网络上。 – broke 2010-01-21 21:15:14

1

使用Run-> services.msc检查所有相同的服务是否在所有其他机器上启动的相关服务器上启动。这听起来像是一种服务在所讨论的机器上“手动”加载(因此延迟)并且在其他机器上自动加载。上述进程监视器(该MS Sysinternals Suite的一部分)提到可以是非常有益

编辑:你说 任务管理器,CPU被徘徊在0至1%, 不包括核时?默认情况下,任务管理器不显示核心时间,您必须从菜单栏中选择查看,然后从下拉菜单中单击显示核心时间。内核活动可能非常重要,而CPU显示很少或没有活动。