.net可执行构建在xp上,不能启动在Windows 7 -错误



我在Windows XP工作站上做了一个。net应用程序,它工作得很好。但是如果我试着在Windows 7上运行它,应用程序根本就启动不了——没有窗口,没有错误信息,什么也看不见。我尝试了7中所有兼容模式的组合,但没有一个有效。我在任务管理器中看到的唯一一件事是,当我在windows 7上启动应用程序同时启动werfault.exe进程时,几秒钟后两者都消失了。

是否有werfault.exe日志文件或其他东西来检查以了解发生了什么?

谢谢

您可以尝试查看Windows事件日志。它可能包含有关错误的信息。也请尝试以管理员身份运行。你还应该确保正确的。net框架安装在Windows 7机器上。

要有耐心,向专家学习,:)

http://blogs.msdn.com/b/tess/archive/2008/06/05/setting-net-breakpoints-in-windbg-for-applications-that-crash-on-startup.aspx

像WinDbg这样的低级调试器可以在最困难的时候提供帮助。

在你的例子中,发生了一个未处理的异常,如果你运行!pe, WinDbg + SOS可以显示异常细节。

好运。

WinForms的默认项目模板缺少几个try/catch块,它确实应该避免这些问题。

表单构造函数是一个简单的

InitializeComponent();

最好有一个try/catch块,抛出一个提示错误的消息框。

Main in Program.cs

当这些方法出错时,我偶尔会出现显示消息框的问题,所以我求助于显示控制台窗口:

[DllImport("kernel32.dll", SetLastError = true)]
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool AllocConsole();

然后调用:

string msg = "Some explanation.";
AllocConsole();
Console.WriteLine(msg);
MessageBox.Show(msg);

最新更新