2011-11-17 32 views
1

我的问题是为什么.net程序在不同计算机(两者都具有相同的操作系统)之间运行不同?应用程序崩溃在一台计算机上而不是其他部署后

这里是背景资料:

  1. 我已经建立在C#.NET大4应用程序。
  2. 我已经创建了一个安装程序并安装了该应用程序。
  3. 我已经在Windows 7 64位下的虚拟机上运行应用程序;它工作正常。
  4. 我创建了一个默认的未处理的异常对话框,我可以强制使用调用抛出新异常(“强制异常进行测试”的菜单选项。

现在这个对话框的作品,如果unfortuniate确实发生等等

,但

当我安装了Win 7的64位则软件不处理异常另一个工作站上这个应用程序以同样的方式,它崩溃在各个点,我的测试版本不?

我们正在尝试重新安装.NET框架。

+1

对你问题的回答很简单,两台电脑都不一样(更新,文化设置等),或者你的安装在两台电脑上都不一样。 – Peter

+0

实现AppDomain.CurrentDomain.UnhandledException事件的处理程序,所以我们不必猜测。 –

+0

感谢您提供这些建议。 AppDomain.CurrentDomin.UnhandledException实际上已经在使用,但调试/发布问题以及缺少Windows更新似乎阻止了它。我想特定的机器正在尝试锻炼哪里或哪些JIT调试器使用... – James

回答

2

有很多原因可能会发生这种情况,我会首先检查操作系统事件日志,看看他们是否给你指示哪里可以看到。

显而易见的要点: 调试/发布版本。

OS补丁不匹配(特别是包括.NET)

NET版本不匹配。

DLL依赖项版本不匹配。

从属DLL未正确注册。

项目路径不匹配。

防病毒软件。

硬件相关的差异。

而对Vista/Windows 7程序访问权限的一个巨大的bugbear程序。

我会先在开发机器上安装该程序的发行版本。

+0

我认为这是一个Windows更新和调试/发布组合。 [Ophs pressng进入没有开始新行。]感谢您的建议,他们确实帮助:-) – James

相关问题