什么可能导致VB.NET应用程序在运行任何代码之前崩溃?

时间:2009-01-14 15:35:05

标签: vb.net crash

我的VB.NET应用程序在开发PC上编译,安装和正常工作。

但是,当我将安装包带到别处时,它会安装正常但在执行任何代码之前崩溃。

错误是“遇到问题,需要关闭......”

我删除了对外部文件的所有引用,例如图标文件等。

我只有一个本地dll,参考似乎没问题。

还有哪些其他问题会导致这个问题?

谢谢! 乔恩

更新:在1台PC上,重新安装MDAC已解决了该问题。然而,大多数客户端都是XP,因此这无济于事。

我在某些Windows XP笔记本电脑上仍然收到同样的错误。

9 个答案:

答案 0 :(得分:2)

很抱歉明白,但目标PC是否安装了.Net Runtime?

答案 1 :(得分:2)

您可以查看事件日志(以“运行”框中的“eventvwr”开头)以获取更多信息。

答案 2 :(得分:2)

我之前看过这个app.config文件无效。鉴于您刚发布的错误,您也可以检查机器的清单文件。

答案 3 :(得分:2)

两种可能性:

这是vb.net在初始化期间遇到错误时遇到的错误类型。例如,如果你有

dim iClass as new myClass

在启动表单或模块的全局区域(在subs或函数之前),如果在创建实例iClass期间发生错误,那么您将得到一个相当无价值的错误消息,而不知道在哪里找到问题。

如果在初始化期间发生控制事件的虚假触发,则在_load开始执行之前在事件处理程序中导致错误,您也会遇到此类错误。根据微软的说法,这种事件偶尔发生,“按设计”。使用在_load执行后切换的标志可以防止这种情况,以告诉处理程序是否可以安全运行,并且可能通过明智地使用设计时指定的控制属性。

答案 4 :(得分:1)

好的 - 事件查看器有帮助。我想。

在安装过程中看起来没有找到某些引用。


以下是最后6个条目......

Faulting application pa.exe, version 2.0.1.26594, stamp 496e0437, faulting module kernel32.dll, version 5.0.2195.6946, stamp 40d78cce, debug? 0, fault address 0x0002bbf3. 

Detection of product '{3CA9D9FD-E8CD-4B73-8053-8C406ED8CB28}', feature 'DefaultFeature' failed during request for component '{ACA3C479-D7C7-902C-092A-E6635AD9A8B1}' 

Detection of product '{3CA9D9FD-E8CD-4B73-8053-8C406ED8CB28}', feature 'DefaultFeature', component '{7D04E12E-2803-6F47-E11C-B8146C27E61B}' failed.  The resource 'C:\Program Files\pa\pa-update.exe' does not exist. 

Faulting application pa.exe, version 2.0.1.26594, stamp 496dffb9, faulting module kernel32.dll, version 5.0.2195.6946, stamp 40d78cce, debug? 0, fault address 0x0002bbf3. 

Detection of product '{3CA9D9FD-E8CD-4B73-8053-8C406ED8CB28}', feature 'DefaultFeature' failed during request for component '{ACA3C479-D7C7-902C-092A-E6635AD9A8B1}' 

Detection of product '{3CA9D9FD-E8CD-4B73-8053-8C406ED8CB28}', feature 'DefaultFeature', component '{30A51F7D-D0DA-E436-F48F-1092ECE7858D}' failed.  The resource 'C:\Program Files\pa\pa-common.dll' does not exist. 

答案 5 :(得分:0)

您是否可以定位比其他计算机上安装的更高版本的.NET平台?
您可以在complile选项卡的“My Project”中检查项目的目标框架(VS.2008)。单击高级编译选项...
在“高级编译器设置”对话框的底部,每个框架都有一个下拉列表。
在客户端计算机上,您可以在“程序和功能”控制面板(Vista)或XP中的“添加和删除程序”中检查.NET版本

答案 6 :(得分:0)

我不了解.NET,但在Delphi中,您可以使用IDE的一个实例来调试第二个实例。然后在启动时调试问题(在正确的调试开始之前),您可以将IDE A连接到IDE B进行调试,然后在IDE B中运行您的应用程序,在IDE A中打开您的代码可能会为您提供一些关于您的问题的线索。

答案 7 :(得分:0)

有些第三方DLL行为异常。试试这个,在部署中,将它们更改为include而不是auto include。

答案 8 :(得分:0)

我今天发生了这种情况。我的错误是我已从另一个程序复制了该程序并进行了修改以满足我的要求。问题在于启动一个程序时,第二个程序将崩溃而没有任何错误。我发现我需要更改组装信息。我更改了应用程序名称,程序集标题,并创建了唯一的GUID。一旦这样做,我就可以同时运行两个程序。