【问题标题】:xunit does not compile with ASP.NET Core RC2xunit 不能与 ASP.NET Core RC2 一起编译
【发布时间】:2016-05-19 12:49:04
【问题描述】:

我创建了一个名为 MyHelpers 的 ASP.NET Core RC2 类库,并在 project.json 中获得了以下内容:

"dependencies": {
  "NETStandard.Library": "1.5.0-rc2-24027",
},

"frameworks": {
  "netstandard1.5": {
    "imports": [
      "dnxcore50",
      "portable-net452+win81"
    ]
  }
}

然后我创建了一个用于测试的 ASP.NET Core RC2 类库,命名为 MyHelpersTests,并在 project.json 中得到以下内容:

"testRunner": "xunit",

"dependencies": {
  "NETStandard.Library": "1.5.0-rc2-24027",
  "xunit": "2.2.0-beta1-build3239",
  "dotnet-test-xunit": "1.0.0-rc2-build10015",
  "MyHelpers": "1.0.0"
},

"frameworks": {
  "netstandard1.5": {
    "imports": [
      "dnxcore50",
      "portable-net452+win81"
    ]
  }
}   

当我编译它时,我得到了错误:

Package dotnet-test-xunit 1.0.0-rc2-build10015 is not compatible with netstandard1.5 (.NETStandard,Version=v1.5). Package dotnet-test-xunit 1.0.0-rc2-build10015 supports:

- net451 (.NETFramework,Version=v4.5.1) - netcoreapp1.0 (.NETCoreApp,版本=v1.0) 一个或多个包与 .NETStandard 不兼容,Version=v1.5。

我错过了什么?

【问题讨论】:

标签: asp.net-core xunit


【解决方案1】:

实际上,您的测试项目不能是netstandard1.5 库,而是netcoreapp1.0 应用程序(如错误消息和xunit 介绍页面中所述)。测试程序集需要可执行并且需要一个 Main()(由 xunit 提供)。 netstandard1.5netcoreapp1.0 的子集。

我认为您还必须将依赖项更改为"Microsoft.NETCore.App":"1.0.0-rc2-3002702"

【讨论】:

  • 你的意思是我不应该使用类库进行测试,而应该使用控制台应用程序?
  • @Thomas 我正在尝试创建一个使用 xUnit 的测试项目。我创建了一个控制台应用程序 (.NET Core) RC2,但是在添加 xUnit 包“xunit”:“2.2.0-beta1-build3239”时,它显示此错误:Compiling OmniXaml.Tests.NetCoreApp for .NETCoreApp,Version=v1 .0 1>D:\Source\Repos\OmniXAML\OmniXaml.Tests.NetCoreApp\project.json(12,37): 错误 NU1002: 依赖 xunit.abstractions 2.0.0 不支持框架 .NETCoreApp,Version=v1。 0.
  • 对于 RC2,以下 xunit 包可以工作:xunit:2.1.0 和 "dotnet-test-xunit": "1.0.0-rc2-build10015" (xunit.github.io/docs/getting-started-dotnet-core.html)
  • 我认为问题是您缺少便携式+net45 导入。 (见下面的答案)
【解决方案2】:

今天这对我有用,整个配置看起来像这样......

{
    "version": "1.0.0-*",

    "testRunner": "xunit",

    "dependencies": {
        "Microsoft.NETCore.App": {
            "version": "1.0.0-rc2-3002702",
            "type": "platform"
        },
        "xunit": "2.1.0",
        "dotnet-test-xunit": "1.0.0-rc2-build10025"
    },

    "frameworks": {
        "netcoreapp1.0": {
            "imports": [
                "dnxcore50",
                "portable-net45+win8"
            ]
        }
    }
}

【讨论】:

    【解决方案3】:

    我认为问题在于您缺少便携式+net45 导入。

    这是我的 project.json :

    "frameworks": {
         "netcoreapp1.0": {
           "dependencies": {
            "Microsoft.NETCore.App": {
               "type": "platform",
               "version": "1.0.0-rc2-3002702"
            }
           },
           "imports": [
             "dnxcore50",
             "portable-net45+win8"
          ]
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-09-16
      • 2015-02-07
      • 1970-01-01
      • 2016-09-26
      • 2016-11-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多