Ссылка на объект не установлена ​​для экземпляра с ядром Coverlet dotnet - PullRequest
1 голос
/ 27 марта 2019

Я недавно установил оболочку 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 Ответ

1 голос
/ 28 марта 2019

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

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

Добавьте /p:Exclude="[xunit*]*" к выполняемой вами команде.

...