我在Windows XP工作站上创建了一个.NET应用程序,它工作正常。 但是,如果我尝试在Windows 7上运行它,应用程序根本无法启动 - 没有窗口,没有错误消息,没有任何可见性。我已经尝试了7中的兼容模式的每种组合,但没有人工作。 我在任务管理器中唯一能看到的是,当我在Windows 7上同时启动werfault.exe进程启动应用程序时,几秒后它们都会消失。
是否有werfault.exe日志文件或要检查的内容以了解发生了什么?
由于
答案 0 :(得分:2)
您可以尝试查看Windows事件日志。它可能包含有关错误的信息。也尝试以管理员身份运行。您还应该确保在Windows 7计算机上安装了正确的.NET框架。
答案 1 :(得分:0)
耐心等待,并向专家学习:)
较低级别的调试程序(如WinDbg)可以在最困难的时候提供帮助。
在您的情况下,如果您运行!pe,则会发生未处理的异常,并且WinDbg + SOS可以显示异常详细信息。
祝你好运。答案 2 :(得分:0)
WinForms的默认项目模板缺少一些它应该避免这些问题的try / catch块。
表单构造函数是一个简单的
InitializeComponent();
最好有一个try / catch块,它会抛出一个显示错误的消息框。
Program.cs中的Main相同
在这些方法出错时,我偶尔会遇到显示消息框的问题,所以我求助于显示控制台窗口:
[DllImport("kernel32.dll", SetLastError = true)]
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool AllocConsole();
然后致电:
string msg = "Some explanation.";
AllocConsole();
Console.WriteLine(msg);
MessageBox.Show(msg);