我创建了一个 VS 2015 U3 解决方案,其中包含一个 netstandard1.3 PCL 库X
和一个 netcoreapp1.0 测试库Y
。我正在使用 MSTest(dotnet-test-mstest 和 MSTest.TestFramework)。
这是src\X\project.json
:
{
"supports": {},
"dependencies": {
"Microsoft.NETCore.Portable.Compatibility": "1.0.1",
"NETStandard.Library": "1.6.0"
},
"frameworks": {
"netstandard1.3": {}
}
}
这是test\Y\project.json
:
{
"version": "1.0.0-*",
"testRunner": "mstest",
"dependencies": {
"Microsoft.NETCore.App": "1.0.0",
"dotnet-test-mstest": "1.0.1-preview",
"MSTest.TestFramework": "1.0.0-preview",
"X": { "target": "project" }
},
"frameworks": {
"netcoreapp1.0": {
"imports": [ "dnxcore50", "portable-net45+win8" ]
}
},
"runtimes": {
"win8-x64": {}
}
}
原来我需要最后一个
"runtimes": {
"win8-x64": {}
}
in Y\project.json
,否则会出现以下错误:
_dotnet-test 错误:0:System.InvalidOperationException:找不到与以下目标运行时之一兼容的框架“.NETCoreApp,Version=v1.0”的运行时目标:“win81-x64、win8-x64、win7-x64”。 _
这是为什么?如果我安装了 SDK,我就不能有一个通用的测试应用程序可以在任何地方工作吗?