首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AggregateException实例导致TargetInvocationException

AggregateException实例导致TargetInvocationException
EN

Stack Overflow用户
提问于 2015-05-18 10:05:39
回答 1查看 123关注 0票数 1

我有一个问题,就是AggregateException的一个实例在几次访问图标资源之后会导致一个TargetInvocationException

我将问题分解为以下步骤来复制(.Net 4.0完整的或客户端配置文件):

  • 创建一个新的WinForms应用程序(控制台应用程序不能工作)
  • 向资源中添加任意图标(.ico文件)
  • 向构造函数中添加以下代码: 新的AggregateException();for (var i= 0;;++i) { var图标= Resources.Certificate;}

您必须将资源名称更改为资源名称。

就这样。是的,我知道这个样品不合情理。只是为了说明这个问题。我的工作代码要复杂得多,所有这些代码都是必需的。

如果不创建此激励点,应用程序将提前工作。但是,如果创建了此异常,则对资源的访问将因TargetInvocationException而失败。InnerException告诉我操作已经成功完成(?!?!)在System.Drawing.Icon (ctor + Initialize)中具有两行堆栈跟踪。

我能做些什么来防止这个问题呢?

编辑使用Windows7似乎是个问题。在Win 7上失败的二进制文件将在Win 8.1中正确运行。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-20 09:51:55

我发现了这个问题的原因:

需要进行以下系统配置才能重现该问题:

  • Windows 7德文版
  • 安装了微软.Net框架4.5.2 (是的,我知道我的二进制文件是根据.Net 4.0编译的)
  • 安装KB2901983

拥有一台只包含.Net框架而不包含KB2901983的机器,程序可以正常工作。安装KB2901983后,程序对相同的二进制程序失败(不需要重新编译)。

我试图卸载KB2901983,但没有帮助。如果一旦安装,程序就会失败。我在一个干净的Windows 7德文版上测试了它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30300318

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档