我希望使用netstandard1.6库的测试框架。我试图关注并编辑Getting started with xUnit.net (.NET Core / ASP.NET Core)但没有成功。使用我的project.json文件在VS 2015 Update 3 RTM上使用带有dotnetcore lib的xUnit教程来重现错误。
project.json:
{
"version": "1.0.0-*",
"testRunner": "xunit",
"dependencies": {
"NETStandard.Library": "1.6.0",
"xunit": "2.2.0-beta2-build3300",
"dotnet-test-xunit": "2.2.0-preview2-build1029"
},
"frameworks": {
"netstandard1.6": {
"imports": "dnxcore50"
}
},
"runtimes": {
"win10-arm": {},
"win10-arm-aot": {},
"win10-x86": {},
"win10-x86-aot": {},
"win10-x64": {},
"win10-x64-aot": {}
}
}
错误:
Severity Code Description
Error NU1002 The dependency dotnet-test-xunit 2.2.0-preview2-build1029 does not support framework .NETStandard,Version=v1.0
我可以降级到dotnet-test-xunit 2.2.0-preview2-build1029支持的.netstandard版本吗?是否有任何已知的工作可以使用xUnit?
由于我是一个新的project.json和dotnetcore,我可能会错过一些有用的东西。
答案 0 :(得分:8)
这对我有用。现有的xunit版本似乎还不支持netstandard 1.6库。尝试将项目json更改为xunit site中提供的内容。这也假设您创建了一个.net核心库项目
{
"version": "1.0.0-*",
"testRunner": "xunit",
"dependencies": {
"xunit": "2.2.0-beta2-build3300",
"dotnet-test-xunit": "2.2.0-preview2-build1029"
},
"frameworks": {
"netcoreapp1.0": {
"dependencies": {
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.0.0"
}
}
}
}
}
答案 1 :(得分:3)
您可以导入 netcoreapp1.0 TFM,以说服工具依赖性与目标框架兼容:
{
"dependencies": {
"NETStandard.Library": "1.6.0",
"xunit": "2.2.0-beta4-build3444",
"dotnet-test-xunit": "2.2.0-preview2-build1029"
},
"frameworks": {
"netstandard1.6": {
"imports": [ "netcoreapp1.0" ]
}
}
}
您可以在下面链接的NuGet文档中找到目标框架标记(TFM)表,包括已弃用的框架表,其中包含 dnxcore50 (替换为 netcoreapp1.0 强>):
答案 2 :(得分:1)
我建议使用以下版本(这与asp.net核心存储库中的Logging相同:
"dotnet-test-xunit": "1.0.0-*",
"xunit": "2.1.0"
答案 3 :(得分:0)
检查xunit依赖项的可用版本。我认为2.2.0已经是最终版。
xunit项目需要是netcoreapp1.0而不是netstandard。
请参阅他们的网页了解详情。
答案 4 :(得分:-1)
.NET CLI工具(dotnet)支持创建测试项目:
testproj $ dotnet new -t xunittest
Created new C# project in /home/bartonjs/dotnet/testproj.
testproj $ cat project.json
产地:
{
"version": "1.0.0-*",
"buildOptions": {
"debugType": "portable"
},
"dependencies": {
"System.Runtime.Serialization.Primitives": "4.1.1",
"xunit": "2.1.0",
"dotnet-test-xunit": "1.0.0-rc2-192208-24"
},
"testRunner": "xunit",
"frameworks": {
"netcoreapp1.0": {
"dependencies": {
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.0.0"
}
},
"imports": [
"dotnet5.4",
"portable-net451+win8"
]
}
}
}
这些版本可能会更好地取得成功。