【问题标题】:Visual Studio 2019 suddenly requires nuget Microsoft.NET.Test.Sdk to run xUnit unit-testsVisual Studio 2019 突然需要 nuget Microsoft.NET.Test.Sdk 来运行 xUnit 单元测试
【发布时间】:2020-12-26 02:07:57
【问题描述】:

我正在使用 xUnit 来实现测试。我曾经安装 xUnit Visual Studio 运行器 xunit.runner.visualstudio nuget 包来使用 VS GUI 运行测试。

下面是 VS 中与 xUnit 相关的依赖树分支。您可以清楚地看到 xUnit VS runner 没有依赖关系:

Visual Studio 突然要求我安装 Microsoft.NET.Test.Sdk nuget 以便在 GUI 中运行测试。有谁知道为什么?

注意:

  • 我已经使用 VS 2019 一年多了,经常尽快更新。问题只是昨天才出现的。我现在使用的是 v16.7.2。

【问题讨论】:

  • 可能是因为 xunit runner for VS 需要它?
  • 没有它,它已经工作多年了。没有引入代码或依赖项的更改,只是 VS 本身的更新。
  • 您是否安装了xunit.runner.visualstudio 2.4.1?如果没有,您应该更新软件包以使用2.4.1 版本。
  • 另外,你的旧版本是什么?是net core 3.1 项目吗?
  • 是的。我有xunit.runner.visualstudio v2.4.1。该项目是一个.net框架项目

标签: .net visual-studio unit-testing nuget xunit


【解决方案1】:

在xunit.runner.visualstudio版本2.4.1期间,已经包含了一个依赖Microsoft.NET.Test.Sdk,之后的版本2.4.2和2.4.3已经去掉了这个依赖Microsoft.NET.Test.Sdk。

另外,不确定这个问题是否是由于最近需要此类软件包的 VS 更新引起的。并且从默认的xunit 模板项目中,它默认包含包Microsoft.NET.Test.Sdk。 所以我认为 VS 需要这个包。

可能在某些特定情况下,没有这个包不会报错,但是后续不会出现意外错误,所以安装这个包吧。

另外,不确定你是否安装了xunit.runner.visualstudio版本2.4.1已经有这个包,然后在VS更新期间更新这个包。

建议

1),尝试重新安装xunit.runner.visualstudionuget包,先卸载再安装版本2.4.1。

然后,关闭VS Instance,删除解决方案文件夹下的.vs隐藏文件夹,bin和obj文件夹。

2)尝试更改项目的目标框架版本(它将根据目标框架版本安装任何默认的nuget包)。

右击你的项目Properties-->Application-->先把target framework改成其他人再改回来到原来的。

另外,如果这些都不起作用,您应该与我们分享您的项目示例并提供更详细的信息,以便帮助我们更快地解决问题。

更新 1

对于您更新的问题,或者您可以直接在您的项目上安装 nuget 包 Microsoft.NET.Test.Sdk。

或者将你的项目目标框架改为net core。

在 csproj 文件中使用:

<TargetFramework>netcoreapp3.1</TargetFramework>

然后,重建你的项目,你就可以看到它下面的依赖了。

【讨论】:

  • 这应该被标记为接受,添加 Microsoft.NET.Test.Sdk 对我有用。
  • 我曾尝试按照错误提示安装软件包,但这没有帮助。不过,更改目标框架确实起到了作用。非常感谢!
猜你喜欢
  • 1970-01-01
  • 2020-07-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多