Ссылка на объект не установлена для экземпляра с ядром 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*]*"
к команде, которую вы выполняете.