gpt4 book ai didi

c# - 以编程方式将覆盖文件转换为 coveragexml

转载 作者:太空宇宙 更新时间:2023-11-03 10:43:20 25 4
gpt4 key购买 nike

我正在使用 Visual Studio 查找代码覆盖率。我已经生成了 .coverage 文件,我可以在 Visual Studio 中打开它。我想将其转换为 .coveragexml 文件。我正在使用 CoverageInfo, CoverageDS 类。这是我正在尝试的代码:

CoverageInfo info = CoverageInfo.CreateFromFile(coverageFilePath, binaryPath,symbolPath);
CoverageDS dataSet = info.BuildDataSet();
dataSet.WriteXml(outfile);

由于覆盖文件很大,对 info.BuildDataSet 的调用给出内存不足异常。是否有任何替代方法来获取 coveragexml?

我引用了 MSDN 博客 http://blogs.msdn.com/b/phuene/archive/2009/12/01/programmatic-coverage-analysis-in-visual-studio-2010.aspx其中也提到了这种情况。这篇文章提到了使用ICoverageModule 接口(interface)从CoverageInfo 类中逐个模块地获取模块信息。但是如何将这个模块信息转换成 XML 呢?该博客展示了如何解析和打印模块信息的示例。但我正在寻找将其转换为 coveragexml 文件的方法。

最佳答案

我在调用 CoverageInfo.BuildDataSet(...) 时遇到了同样的 System.OutOfMemoryException。为了解决这个问题,我将项目更改为构建为 64 位应用程序,这使该进程能够使用更多内存。您还需要引用 64 位版本的:

  • Microsoft.VisualStudio.Coverage.Analysis.dll
  • Microsoft.VisualStudio.Coverage.Interop.dll

您可以在安装了 TFS 的系统上找到它们。在 C:\Program Files\Microsoft Team Foundation Server XX.0\Application Tier\TFSJobAgent\Plugins 中查找。

关于c# - 以编程方式将覆盖文件转换为 coveragexml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24451827/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com