从正常.net 4.6.2单元测试项目

时间:2016-11-28 09:52:27

标签: c# unit-testing .net-core

我有2个项目。一个是.Net Core Console应用程序,一个是正常的单元测试项目。

我想从单元测试项目中添加对.Net核心应用程序的引用。

当我尝试添加对项目的引用时,出现以下错误:

  

对' {0}'的引用无法添加。装配必须有一个' dll'或者' exe'扩展以便被引用。

当我在bin文件夹中添加对生成的dll的引用时,我可以编写我的测试而没有任何编译时错误,但测试不会显示在测试资源管理器中。

一旦删除对dll的引用,并注释掉依赖于该dll的任何代码,所有测试都会显示在Test Explorer中。

我需要做什么才能让我的测试显示在测试资源管理器中?

这是我在Console App中的project.json:

{
  "version": "1.0.0-*",
  "buildOptions": {
    "emitEntryPoint": true,
    "allowUnsafe": true
  },

  "dependencies": {
    "adremes.Data": "1.0.0",
    "MailKit": "1.10.0",
    "Microsoft.EntityFrameworkCore": "1.1.0",
    "Microsoft.EntityFrameworkCore.Relational": "1.1.0",
    "Microsoft.EntityFrameworkCore.SqlServer": "1.1.0",
    "Microsoft.Extensions.Configuration": "1.1.0",
    "Microsoft.Extensions.Configuration.FileExtensions": "1.1.0",
    "Microsoft.Extensions.Configuration.Json": "1.1.0",
    "Microsoft.NETCore.App": "1.1.0",
    "Newtonsoft.Json": "9.0.1"
  },

  "frameworks": {
    "netcoreapp1.0": {
      "imports": "dnxcore50"
    }
  },

  "runtimes": {
    "win7-x64": {}
  }
}

1 个答案:

答案 0 :(得分:1)

我有同样的问题。我通过手动将.Net Core dll的引用添加到Unit测试项目来解决它。希望这将在VS2017中得到解决。