我试图通过使用 runsettings 文件来限制在 TFS 的代码覆盖过程中分析的程序集,但是即使我明确排除了某些程序集,也坚持要对其进行分析。
这是我当前的runsettings
文件内容:
<?xml version="1.0" encoding="utf-8"?>
<RunSettings>
<!-- Configurations for data collectors -->
<DataCollectionRunSettings>
<DataCollectors>
<DataCollector friendlyName="Code Coverage"
uri="datacollector://Microsoft/CodeCoverage/2.0"
assemblyQualifiedName="Microsoft.VisualStudio.Coverage.DynamicCoverageDataCollector, Microsoft.VisualStudio.TraceCollector, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<Configuration>
<CodeCoverage>
<ModulePaths>
<Include>
<ModulePath>.*Cloud4Mobile.*</ModulePath>
</Include>
<Exclude>
<ModulePath>.*Tests.dll$</ModulePath>
<ModulePath>.*TestUtilities.dll$</ModulePath>
</Exclude>
</ModulePaths>
<CompanyNames>
<Include>.*Mobiltec.*</Include>
</CompanyNames>
</CodeCoverage>
</Configuration>
</DataCollector>
</DataCollectors>
</DataCollectionRunSettings>
</RunSettings>
但是当我从 Visual Studio 运行代码覆盖来测试这个文件时,分析仍然向我显示与我的过滤器不匹配的其他程序集,例如 AutoMapper 和 CacheManager:
请注意,我的设置默认情况下已经排除了这些程序集,但即便如此我试图明确排除它们也无济于事,如下所示:
<Exclude>
<ModulePath>^AutoMapper.dll$</ModulePath>
...
</Exclude>
我在那里尝试了正则表达式的所有变体,从限制较少的(使用 .*)到限制最大的(如那个例子)。这些程序集污染了我在 TFS 构建摘要中获得的报告,我想将它们从分析中删除。这是我从 TFS 获得的完整输出,这显然毫无用处:
我设法用这个 .runsettings 配置文件删除了大部分,但我如何确保这些异常值也不会显示在那里?考虑到我的包含过滤器根本不匹配它们,为什么它们甚至首先显示?