xunit 不编译 ASP.NET Core RC2

xunit does not compile with ASP.NET Core RC2

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

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

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

然后我创建了一个用于测试的 ASP.NET Core RC2 Class 库,名为 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,版本=v4.5.1) - netcoreapp1.0 (.NETCoreApp,Version=v1.0) 一个或多个包与 .NETStandard 不兼容,Version=v1.5.

我错过了什么?

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

的子集

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

我认为问题是您缺少 portable+net45 导入。

这是我的 project.json :

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

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

{
    "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"
            ]
        }
    }
}