我正在尝试在单元测试中编写一个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)中不受支持。有人知道为什么吗?以及任何解决方案。 谢谢进阶