为什么我需要为.NET Core中的测试库设置“运行时”?

时间:2016-08-18 08:56:00

标签: mstest .net-core project.json

我创建了一个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": {}
}
Y\project.json

,否则我收到以下错误:

_dotnet-test错误:0:System.InvalidOperationException:找不到与其中一个目标运行时兼容的框架'.NETCoreApp,Version = v1.0'的运行时目标:'win81-x64,win8-x64 ,win7-x64'._

为什么?如果我安装SDK,我不能拥有可在任何地方使用的通用测试应用程序吗?

0 个答案:

没有答案