Operation is not supported on this platform.

本文讲述了在.NETCore中尝试使用BeginInvoke方法时遇到的PlatformNotSupportedException异常,原因是.NETCore不支持此类操作。解决方案是将项目迁移到.NETFramework,并利用Task.Run()来替代BeginInvoke以解决问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

.net core 中:

Action<string> action = this.DoSome;
action.BeginInvoke("button1_Click", null,null);

执行报错:

System.PlatformNotSupportedException:“Operation is not supported on this platform.

原因:

.NET Core不支持BeginInvoke和EndInvoke委托调用。
GitHub问题 MulticastDelegate, BeginInvoke throws NotSupportedException #16312 中对此进行了讨论
解决方式:

  1. 将.net core 迁移至 .net framework
  2. 使用Task 替换 BeginInvoke
Task.Run(() => action.Invoke("button1_Click"));

DOTNET且行且珍惜

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值