【问题标题】:Task conflict in System.Threading.Tasks and System.RuntimeSystem.Threading.Tasks 和 System.Runtime 中的任务冲突
【发布时间】:2017-05-15 21:48:57
【问题描述】:

我在 asp.net 核心中有一个中间件,它工作正常,但现在它给出以下错误

“Task”类型存在于“System.Threading.Tasks, Version=4.0.10.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”和“System.Runtime, Version=4.2.0.0, Culture=neutral, PublicKeyToken= b03f5f7f11d50a3a' ERP..NETCoreApp,Version=v1.1

我也尝试了别名和绝对引用,但没有成功。

这是 Project.json

{
  "dependencies": {
    "AutoMapper": "5.2.0",
    "Microsoft.AspNetCore.Diagnostics": "1.1.0",
    "Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore": "1.1.0",
    "Microsoft.AspNetCore.Mvc": "1.1.0",
    "Microsoft.AspNetCore.Server.IISIntegration": "1.1.0",
    "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.1.0-preview4-final",
    "Microsoft.AspNetCore.Server.Kestrel": "1.1.0",
    "Microsoft.AspNetCore.Session": "1.1.0",
    "Microsoft.AspNetCore.StaticFiles": "1.1.0",
    "Microsoft.EntityFrameworkCore.SqlServer": "1.1.0",
    "Microsoft.Extensions.Configuration.FileExtensions": "1.1.0",
    "Microsoft.Extensions.Configuration.Json": "1.1.0",
    "Microsoft.Extensions.Logging.Console": "1.1.0",
    "Microsoft.Extensions.Logging.Debug": "1.2.0-preview1-23015",
    "Microsoft.NETCore.App": {
      "version": "1.1",
      "type": "platform"
    }
  },

  "tools": {
  },

  "frameworks": {
    "netcoreapp1.1": {
      "imports": [
        "dotnet5.6",
        "portable-net45+win8"
      ]
    }
  },

  "buildOptions": {
    "emitEntryPoint": true,
    "preserveCompilationContext": true
  },

  "runtimeOptions": {
    "configProperties": {
      "System.GC.Server": true
    }
  },

  "publishOptions": {
    "include": [
      "Areas/**/*.cshtml",
      "wwwroot",
      "web.config"
    ]
  },

  "scripts": {
    "postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ]
  },
  "userSecretsId": "aspnet-ERP-20161109085850"
}

【问题讨论】:

  • 请复制您的方法代码。由于弹出信息,我看不到它
  • 发布你的 project.json,你把你的引用搞砸了。我怀疑您已将框架部分中的完整 .NET Framework 程序集添加到 .NET Core 应用程序/.NET Standard 库中,或者您的依赖项之一添加了
  • @Tseng project.json 添加了问题。

标签: c# asp.net-core .net-core


【解决方案1】:

我能够解决此更改 Debug 软件包版本。

"Microsoft.Extensions.Logging.Debug": "1.2.0-preview1-23015",

"Microsoft.Extensions.Logging.Debug": "1.1.0",

并且还要更改 Invoke 方法签名

public Task Invoke(HttpContext httpContext)

public async Task Invoke(HttpContext httpContext)

【讨论】:

  • 除非在方法中使用await,否则不需要添加async,只不需要创建异步状态机
  • 我已经在这个方法中等待了。
猜你喜欢
  • 1970-01-01
  • 2016-03-30
  • 1970-01-01
  • 1970-01-01
  • 2022-06-13
  • 1970-01-01
  • 2011-02-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多