почему IAsyncResult возвращает эту ошибку?System.PlatformNotSupportedException: «Операция не поддерживается на этой платформе». - PullRequest
0 голосов
/ 05 апреля 2019

Я пытаюсь написать делегата с типом IAsyncResult в модульном тесте. Я ожидаю увидеть 2 разных идентификатора потока в выходной отладке, но я сталкиваюсь с этой ошибкой:

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). Никто не знает почему?и любое решение для этого.Спасибо заранее

...