【问题标题】:Tests not showing up in test explorer after adding .NET standard library to .NET framework project将 .NET 标准库添加到 .NET 框架项目后,测试未显示在测试资源管理器中
【发布时间】:2018-02-23 20:29:53
【问题描述】:

在我将 .NET 标准库添加到 .NET framework 4.6.1 web api 2 项目后,测试资源管理器中没有显示任何测试。 (我正在使用 MSTest)

如果我删除了 .NET 标准库,并且在我添加它时它所做的所有应用程序和 Web 配置更改,测试就会再次出现。

我的解决方案包括:

  • 项目 A - .NET 4.6.1 web api 引用 .NET 标准库
  • 项目 B - .NET 4.6.1 单元测试项目;引用 A

我做了什么:

  1. 在我的 webapi 2 项目(项目 A)中添加了 .NET 标准库
  2. 关注this microsoft article(最后一步)并在网络应用中启用自动绑定重定向
  3. 这在我的主 web.config 和单元测试项目的 app.config 中添加了很多程序集重定向。
  4. this github thread 之后,我将以下内容添加到我的单元测试项目(项目B)中:

<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects> <GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType>

我没有启用 github 问题中提到的 PackageReference,但我的 WebAPI 项目工作正常。只是我的单元测试已经从测试资源管理器中消失了。

我尝试了 this question 的解决方案,但没有帮助。

【问题讨论】:

    标签: c# unit-testing asp.net-web-api visual-studio-2017 .net-standard


    【解决方案1】:

    您还需要将 .NET Standard 库添加到测试项目本身。

    由于 Web API 项目等经典项目不支持传递引用,因此您还需要将新项目添加到测试项目中。然后测试项目的构建逻辑将看到 .NET Standard 参考并添加兼容性库并执行绑定重定向生成(由于您添加的属性)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-04-11
      • 2016-12-02
      • 2020-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-29
      • 2020-05-04
      相关资源
      最近更新 更多