【发布时间】:2017-04-28 15:54:46
【问题描述】:
我制作了一个运行时在 VIsual Studio 中工作的 WPF 程序。 我使用 Visual Installer Projects 2017 为我的程序制作了一个安装程序。在某个部分程序崩溃,我得到以下对话框:
Program1.exe [10204] 中出现未处理的 Microsoft.NET Framework 异常。
我的 catch 块是这样的
Dispatcher.Invoke(new Action(() =>
{
EnableContent();
}));
}
catch (AggregateException e)
{
MessageBox.Show(e.ToString());
Dispatcher.Invoke(new Action(() =>
{
UpdateLoadMsg("No internet connection.", MsgType.FAIL);
}));
}
catch (Exception e)
{
MessageBox.Show(e.ToString());
Dispatcher.Invoke(new Action(() =>
{
UpdateLoadMsg("Something went wrong.", MsgType.FAIL);
}));
}
消息框永远不会显示!显然异常没有被捕获。如何调试?
【问题讨论】:
-
您是否有转储到您安装它的 PC 中的异常数据?
-
@vipersassassin 在哪里可以找到我电脑上的异常数据?
-
系统事件日志中应该有一些东西。但是您确定异常源自
try块内部吗? -
你能显示你用来访问资源的代码吗?
-
是的,将文件作为资源嵌入实际上并没有将文件放入文件系统中,实际上恰恰相反。它实际上所做的就是将文件嵌入到可执行文件中。您需要以不同的方式访问文件才能从资源中使用它。