Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在.net framework 4和.net标准1.5之间为Task.Delay切换上下文_C#_Asp.net Core_Task - Fatal编程技术网

C# 如何在.net framework 4和.net标准1.5之间为Task.Delay切换上下文

C# 如何在.net framework 4和.net标准1.5之间为Task.Delay切换上下文,c#,asp.net-core,task,C#,Asp.net Core,Task,我有一个正在迁移到asp.net core的项目,出现以下错误: 下面是我的project.json文件 { "version": "1.0.0-*", "dependencies": { "AutoMapper": "3.2.1", "Newtonsoft.Json": "8.0.3" }, "frameworks": { "netstandard1.5": { "imports": [ "dnxcore50",

我有一个正在迁移到asp.net core的项目,出现以下错误:

下面是我的project.json文件

{
  "version": "1.0.0-*",

  "dependencies": {
    "AutoMapper": "3.2.1",
    "Newtonsoft.Json": "8.0.3"

  },

  "frameworks": {
    "netstandard1.5": {
      "imports": [
        "dnxcore50",
        "portable-net40+sl5+win8+wp8+wpa81"

      ],
      "dependencies": {
        "NETStandard.Library": "1.5.0-rc2-24027",
        "Microsoft.NETCore.Portable.Compatibility": "1.0.1-rc2-24027",
        "System.Linq.Expressions": "4.0.11-rc2-24027"
      }

    },
    "net40": {

      "dependencies": {
        "Microsoft.Bcl.Async": "1.0.168"


      }
    }

  }
}

如何选择要使用Task.Delay-tat在.net标准1.5中可用,而忽略.net framework 4。我必须要有两种版本的吗

您可以使用预处理器指令执行以下操作:


您可以使用预处理器指令执行以下操作:


这似乎很管用,非常感谢。我想知道当.netcore从用户和社区获得更多的吸引力时,这种情况会发生多少。我觉得这是一个草率的解决问题的方法。@JeremyConterio:如果你想支持不受支持的.NET框架,通常情况下是这样的(.NET 4已经很老了,不再受积极支持,只有4.5.1或4.5.2及更高版本)。NET核心是基于System.Runtime(为WinRT引入的),它最初是在.NET 4.5中引入的,但从那时起,它有许多附加功能,直到现在,这似乎可以完成这项工作,非常感谢。我想知道当.netcore从用户和社区获得更多的吸引力时,这种情况会发生多少。我觉得这是一个草率的解决问题的方法。@JeremyConterio:如果你想支持不受支持的.NET框架,通常情况下是这样的(.NET 4已经很老了,不再受积极支持,只有4.5.1或4.5.2及更高版本)。NET核心是基于System.Runtime(为WinRT引入)的,它最初是在.NET 4.5中引入的,但从那时起它就有了许多新的功能
#if NETSTANDARD1_5
    //do something that's just on netstandard1.5
#else
    //do something that's not NET40
#endif