未将对象引用设置为具有Coverlet dotnet核心的实例

时间:2019-03-27 17:35:00

标签: .net-core code-coverage dotnet-test

我最近通过遵循以下指南(https://dev.to/deinsoftware/net-core-unit-test-and-code-coverage-with-visual-studio-code-37bp)通过dotnet核心CLI(命令:dotnet add package coverlet.msbuild)安装了Coverlet 2.6.0,但是在运行第一个命令时遇到了问题:

dotnet test /p:CollectCoverage=true

当我在dotnet核心应用程序的根目录中运行此命令时,出现以下错误:

  

C:\ Users \ me \ .nuget \ packages \ coverlet.msbuild \ 2.6.0 \ build \ netstandard2.0 \ coverlet.msbuild.targets(35,5):   错误:对象引用未设置为对象的实例。   [C:\ Users \ me \ .. \ myproj.csproj]   C:\ Users \ me \ .nuget \ packages \ coverlet.msbuild \ 2.6.0 \ build \ netstandard2.0 \ coverlet.msbuild.targets(35,5):   错误:在Coverlet.MSbuild.Tasks.CoverageResultTask.Execute()中   /Users/toni/Workspace/coverlet/src/coverlet.msbuild.tasks/CoverageResultTask.cs:line   67 [C:\ Users \ me .. \ myproj.csproj]

我已经尝试了以下方法:

  • 关闭并重新打开Powershell
  • 运行dotnet builddotnet restore
  • 在我的所有.csproj文件中,将包引用添加到Coverlet包中(尽管我抱怨的是它已经有了引用,我认为是从安装时开始的)

我真的很困惑如何使其工作,所有其他指南似乎都可以做到。我的项目正在运行.NET Core 2.2。

编辑[20/05/2019]

我设法通过使用Visual Studio(而不是仅使用CLI)安装对Coverlet的引用来使其工作。我不确定这是否特定于我的(Windows)计算机,但是我想在这里提到它,以防其他人遇到相同的问题。

1 个答案:

答案 0 :(得分:1)

您描述的问题可能是由2.6.0版本引起的。

来自this GitHub问题(tomap's response):

在您正在运行的命令上附加/p:Exclude="[xunit*]*"