【问题标题】:What could cause a VB.NET application to crash before running any code?什么可能导致 VB.NET 应用程序在运行任何代码之前崩溃?
【发布时间】:2009-01-14 15:35:04
【问题描述】:

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

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

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

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

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

还有哪些其他问题可能导致此问题?

谢谢! 乔恩

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

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

【问题讨论】:

标签: vb.net crash


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 是的! .NET 在开发和客户端 PC 上都是 2
    【解决方案3】:

    我以前看到过这种情况,其中包含无效的 app.config 文件。鉴于您刚刚发布的错误,您也可以检查机器的清单文件。

    【讨论】:

      【解决方案4】:

      两种可能:

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

      dim iClass as new myClass
      

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

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

      【讨论】:

        【解决方案5】:

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

        在安装过程中似乎找不到某些参考。


        这是最后 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. 
        

        【讨论】:

          【解决方案6】:

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

          【讨论】:

            【解决方案7】:

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

            【讨论】:

              【解决方案8】:

              有些 3rd 方 DLL 的行为很奇怪。试试这个,在您的部署中,将它们更改为包含而不是自动包含。

              【讨论】:

                【解决方案9】:

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

                【讨论】:

                  猜你喜欢
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 2014-10-05
                  • 2023-03-18
                  • 1970-01-01
                  • 1970-01-01
                  • 2019-06-27
                  • 2018-02-16
                  相关资源
                  最近更新 更多