c# - 程序可以在Win 7上运行,但不能在Win 8上运行

标签 c# windows windows-8 windows-7

我有一个在 Windows 7(64 位)上编写的程序,该程序可以在我的计算机上正确编译和运行。

但在其他计算机上(特别是在 Windows 8(64 位)上)该程序无法运行。当我尝试运行它时,它说我的程序已停止工作,它崩溃了。

我应该补充一点,两台计算机都安装了 4.5 版本的 .Net。

但是,如果我删除添加到表单中的所有组件(我使用的是 Visual Studio 2012 Express),它就可以正常运行。但我必须删除所有组件。仅删除其中一些是行不通的。

有人听说过这件事吗?

最佳答案

感谢 Hans,我之前没有听说过 AppDomain.CurrentDomain.Unhandled 异常。

我的实际问题是我的 Windows 8 计算机上没有安装 VisualBasic,但我正在尝试使用它们。从我的程序中删除该引用修复了程序。

我用来查找问题的实际代码(在 Program.cs 中):

static void Main()
    {
        AppDomain currentDomain = AppDomain.CurrentDomain;
        currentDomain.UnhandledException += new UnhandledExceptionEventHandler(MyHandler);
     (...)   
    }
static void MyHandler(object sender, UnhandledExceptionEventArgs args)
    {
        Exception e = (Exception)args.ExceptionObject;
        Console.WriteLine("MyHandler caught : " + e.Message);
        Console.WriteLine("Runtime terminating: {0}", args.IsTerminating);
        MessageBox.Show("Handler caught: " + e.Message + "\nRuntime terminating: " + args.IsTerminating);
    }

关于c# - 程序可以在Win 7上运行,但不能在Win 8上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18644393/

相关文章:

c# - 使用 WebAuthenticationBroker 进行 oAuth

windows-8 - Windows 8/Windows Server 2012 中基于功能的安全性

java - 静态工厂是否适用于C#?

java - 如何删除java中windows使用/锁定的文件

c# - 是否有可能从 Windows 8 商店应用程序 (C#) 启动另一个应用程序或程序

windows - Windows 上的 docker 工具箱,然后 docker run hello-world 获取 x509 : certificate signed by unknown authority

windows - 如何拦截/重写 Windows ODBC 调用?

c# - 在 MonoMac 中打开 Cocoa 窗口

c# - 使用控制台应用程序打开浏览器,获取一些数据并将其传回应用程序

c# - .NET Winforms c# 上传大文件