当我运行dotnet测试任务时,测试将正确运行,但是当生成xml格式的报表文件时,会得到以下错误:
/home/adminuser/.nuget/packages/coverlet.msbuild/2.3.1/build/netstandard2.0/coverlet.msbuild.targets(17,5):错误:未找到的方法:‘voidSystem.IO.FileStream..ctor(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare)’。
项目配置文件(.csproj)如下:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp3.0</TargetFramework>
<IsPackable>false</IsPackable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="coverlet.msbuild" Version="2.3.1">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.6.1" />
<PackageReference Include="MSTest.TestAdapter" Version="2.1.2" />
<PackageReference Include="MSTest.TestFramework" Version="2.1.2" />
<PackageReference Include="NSubstitute" Version="4.2.2" />
</ItemGroup>
</Project>注意:管道运行良好,但从前一刻到下一刻,它开始生成以下错误
发布于 2020-07-29 07:43:53
您正在使用自托管代理来运行管道,因此应该在本地环境中执行该命令。您可以尝试下面的步骤来解决这个问题:
1.清理包缓存,删除bin and obj folder并再次运行dotnet测试命令。
2.将coverlet.msbuild包从2.3.1更新到最新的2.9.0。
另外::
要生成xml (coverage.cobertura.xml):您应该使用带有命令dotnet test --collect:"XPlat Code Coverage"的coverlet.collector包。
要生成json (coverage.json):您应该使用带有命令dotnet test /p:CollectCoverage=true的coverlet.msbuild包。
更多细节请查看被子-覆盖/被单。
https://stackoverflow.com/questions/63137299
复制相似问题