xunit不能使用ASP.NET Core RC2进行编译

时间:2016-05-19 12:49:05

标签: asp.net-core xunit

我创建了一个名为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,Version = v1.0) 一个或多个程序包与.NETStandard不兼容,版本= v1.5。

我错过了什么?

3 个答案:

答案 0 :(得分:5)

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

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

答案 1 :(得分:3)

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

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

答案 2 :(得分:2)

我认为问题是你缺少便携式+ net45导入。

这是我的project.json:

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