Ссылка на объект не установлена ​​для экземпляра с ядром Coverlet dotnet

Я недавно установил coverlet 2.6.0 через CLI ядра dotnet (команда: dotnet add package coverlet.msbuild), следуя этому руководству: https://dev.to/deinsoftware/net-core-unit-test-and-code-coverage-with-visual-studio-code-37bp однако я столкнулся с проблемами при запуске первой команды:

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): error: at Coverlet.MSbuild.Tasks.CoverageResultTask.Execute() в /Users/toni/Workspace/coverlet/src/coverlet.msbuild.tasks/CoverageResultTask.cs:line 67 [C:\Users\me..\myproj.csproj]

Я пробовал следующее безрезультатно:

  • Закрыть и снова открыть PowerShell
  • Бежать dotnet build а также dotnet restore
  • Добавление ссылок на пакет coverlet во все мои файлы.csproj (хотя тот, на который он жаловался, уже имел ссылку на него, как я полагаю, с момента его установки)

Я действительно ошеломлен, как заставить это работать, все другие руководства, кажется, могут без проблем. Мой проект работает на.NET Core 2.2.

РЕДАКТИРОВАТЬ [20/05/2019]

Мне удалось заставить это работать, установив ссылки на Coverlet с помощью Visual Studio, а не просто с помощью CLI. Я не уверен, относится ли это конкретно к моему компьютеру (Windows), но подумал, что упомяну это здесь, если кто-то еще столкнется с тем же.

1 ответ

Описанная вами проблема может быть вызвана версией 2.6.0.

Взято из этой проблемы GitHub ( ответ Tomap):

присоединять /p:Exclude="[xunit*]*" к команде, которую вы выполняете.

Другие вопросы по тегам