为什么IAsyncResult返回此错误? System.PlatformNotSupportedException:'此平台不支持该操作。

时间:2019-04-05 12:46:42

标签: c# unit-testing asynchronous delegates iasyncresult

我正在尝试在单元测试中编写一个IAsyncResult类型的委托。我期望在输出调试中看到2个不同的线程ID,但是遇到此错误:

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

这是我的代码:

using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System.Diagnostics;

namespace UnitTest
{

    [TestClass]
    public class UnitTest1
    {
       // public delegate void stuff();
        public void dowork()
        {
            Debug.WriteLine("Hello world");
            Debug.WriteLine
                (System.Threading.Thread.CurrentThread.ManagedThreadId.ToString());
        }
        [TestMethod]
        public void demo01()
        {
            Debug.WriteLine
                (System.Threading.Thread.CurrentThread.ManagedThreadId.ToString());
            Action s = dowork;
           IAsyncResult result= s.BeginInvoke(null,null);
            s.EndInvoke(result);
          //  stuff s = new stuff(dowork);
            s();
        }
    }
}

在这一行,我得到了这个错误:

IAsyncResult result= s.BeginInvoke(null,null);

我正在使用vs 2017.经过研究后,我得到了它在单元测试(framwork)方面的工作,但是在单元测试(.netcor)中不受支持。有人知道为什么吗?以及任何解决方案。 谢谢进阶

0 个答案:

没有答案