我为 Visual Studio 项目创建了安装文件。这些是通过将项目输出添加到设置项目来创建的。从而包括所有 DLL 文件和项目本身。
当应用程序安装在用于开发它的机器上时,它工作正常。但是,当它安装在另一台安装了全新 Windows 的计算机上(安装了 .NET Framework 4.0)时,应用程序在启动时崩溃 - 它甚至无法启动。
有谁知道为什么会这样?
我为 Visual Studio 项目创建了安装文件。这些是通过将项目输出添加到设置项目来创建的。从而包括所有 DLL 文件和项目本身。
当应用程序安装在用于开发它的机器上时,它工作正常。但是,当它安装在另一台安装了全新 Windows 的计算机上(安装了 .NET Framework 4.0)时,应用程序在启动时崩溃 - 它甚至无法启动。
有谁知道为什么会这样?
我首先要看的是 Windows 事件日志。您的崩溃原因很可能会写入应用程序事件日志。
您可以尝试使用DispatcherUnhandledException捕获所有未处理的异常:
public partial class App : Application
{
void App_DispatcherUnhandledException(object sender, DispatcherUnhandledExceptionEventArgs e)
{
// Process unhandled exception
// Prevent default unhandled exception processing
e.Handled = true;
}
}
有了它,您可以添加一小段代码来将异常写入日志文件或 MessageBox。
要了解崩溃的原因,您可以使用以下内容从 Program.cs(或 Main() 所在的位置)中捕获未处理的异常:
static void Application_ThreadException(object sender, ThreadExceptionEventArgs e)
{
MessageBox.Show(e.Exception.Message, "Unhandled Thread Exception");
// here you can log the exception ...
}
static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
{
MessageBox.Show((e.ExceptionObject as Exception).Message +
"\r\n\r\nStack Trace:" +
(e.ExceptionObject as Exception).InnerException.StackTrace, "Unhandled UI Exception");
// here you can log the exception ...
}
这些消息会给你一些线索。您还应该检查事件日志,您可能会在那里找到一些有用的信息。