我创建了一个名为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。
我错过了什么?
答案 0 :(得分:5)
实际上,您的测试项目不能是netstandard1.5
库,而是netcoreapp1.0
应用程序(如错误消息和xunit简介页中所述)。测试程序集需要可执行并需要一个Main()(由xunit提供)。 netstandard1.5
是netcoreapp1.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"
]
}