IIS Express 上 ASP.Net 核心应用程序 运行 的 OpenCover

OpenCover for ASP.Net Core application running on IIS Express

我正在尝试使用 OpenCover 在 IIS Express 上获取 Asp.Net 核心应用程序(DebugType - 完整)运行ning 的代码覆盖率。

按照指定 here 我尝试设置环境变量,然后 运行 OpenConsole。唯一的区别是我尝试使用 iisexpress.exe 而不是 VSIISExeLauncher.exe

打开
set LAUNCHER_ARGS=-p "C:\Program Files\dotnet\dotnet.exe" -a "exec \"C:\CoreWebApp\CoreWebApp\bin\Debug\netcoreapp2.0\CoreWebApp.dll\"" -pidFile $([System.IO.Path]::GetTempFileName()) -wd "C:\CoreWebApp\CoreWebApp"
set LAUNCHER_PATH=C:\Program Files\IIS Express\iisexpress.exe

OpenCover.Console.exe -target:"C:\Program Files\IIS Express\iisexpress.exe" -targetargs:"/config:""C:\CoreWebApp\.vs\config\applicationhost.config"" /site:CoreWebApp" -output:"Coverage.results.xml" -register:user –targetdir:"C:\CoreWebApp\CoreWebApp\bin\Debug\netcoreapp2.0"

当我在应用程序中点击任何 URL 时,我得到 'HTTP Error 502.5 - Process Failure'。

或者,如果我尝试 运行 应用程序直接如下所示。当我按 CTRL+C 停止服务器时,OpenCover 也停止了。

OpenCover.Console.exe -target:"C:\Program Files\dotnet\dotnet.exe" -targetargs:"C:\CoreWebApp\CoreWebApp\bin\Debug\netcoreapp2.0\CoreWebApp.dll" -output:"Coverage.results.xml" -register:user -oldStyle

知道如何将 OpenCover 与 Asp.Net 核心应用程序一起使用吗?

以下有效。

设置环境变量。

set LAUNCHER_ARGS=-p "C:\Program Files\dotnet\dotnet.exe" -a "exec ""C:\Users\baga\source\repos\CoreWebApp\CoreWebApp\bin\Debug\netcoreapp2.0\CoreWebApp.dll"""
set LAUNCHER_PATH=C:\Program Files (x86)\Microsoft Visual Studio17\Professional\Common7\IDE\Extensions\Microsoft\Web Tools\ProjectSystem\VSIISExeLauncher.exe

如果您只想 运行 IIS express 中的 dot net 核心应用程序,可以使用以下命令。

"C:\Program Files\IIS Express\iisexpress.exe" /config:"C:\Users\baga\source\repos\CoreWebApp\.vs\config\applicationhost.config" /site:"CoreWebApp"

要使用 OpenCover 获取代码覆盖率,

 OpenCover.Console.exe -target:"C:\Program Files\IIS Express\iisexpress.exe" -targetargs:"/config:""C:\Users\baga\source\repos\CoreWebApp\.vs\config\applicationhost.config"" /site:CoreWebApp" -output:"c:\baga\Coverage.results.xml" -register:user –targetdir:"C:\Users\baga\source\repos\CoreWebApp\CoreWebApp\bin\Debug\netcoreapp2.0" -oldStyle

生成 html 报告

ReportGenerator.exe -reports:"c:\baga\Coverage.*.xml" -targetdir:"Coveragehtml"