Visual Studio 2019 突然需要 nuget Microsoft.NET.Test.Sdk 到 运行 xUnit 单元测试

Visual Studio 2019 suddenly requires nuget Microsoft.NET.Test.Sdk to run xUnit unit-tests

我正在使用 xUnit 来执行测试。我曾经使用 VS GUI 安装 xUnit Visual Studio 运行ner,xunit.runner.visualstudio nuget 包到 运行 测试。

下面是VS中依赖树的xUnit相关分支。你可以清楚地看到 xUnit VS 运行ner 没有依赖关系:

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

注:

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 需要这个包。

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

除了,不确定你是否安装了xunit.runner.visualstudio版本<=2.4.1已经有这样的包,然后在以后更新这个包VS 更新。

建议

1),尝试重新安装xunit.runner.visualstudio nuget包,先卸载再安装2.4.1.

版本

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

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

Right-click 在您的项目上 Properties-->Application--> 更改 target framework先给别人再改回原来的。

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

更新 1

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

或者将您的项目目标框架更改为net core

在 csproj 文件中使用

<TargetFramework>netcoreapp3.1</TargetFramework>

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