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.5
是 netcoreapp1.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"
]
}
}
}
我创建了一个 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.5
是 netcoreapp1.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"
]
}
}
}