Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 如何强制将某些程序集排除在代码覆盖范围之外?_Visual Studio_Code Coverage_Tfsbuild_Runsettings - Fatal编程技术网

Visual studio 如何强制将某些程序集排除在代码覆盖范围之外?

Visual studio 如何强制将某些程序集排除在代码覆盖范围之外?,visual-studio,code-coverage,tfsbuild,runsettings,Visual Studio,Code Coverage,Tfsbuild,Runsettings,我试图通过使用runsettings文件来限制在TFS中的代码覆盖过程中分析的程序集,但有些程序集坚持要进行分析,即使我显式排除它们 这是我当前的runsettings文件内容: *Cloud4Mobile* *Tests.dll$ *TestUtilities.dll$ *Mobiltec* 但是,当我从Visual Studio运行代码覆盖率来测试此文件时,分析仍会向我显示与筛选器不匹配的其他程序集,如AutoMapper和CacheManager: 请注意,默认情况下,我的设置已经排

我试图通过使用runsettings文件来限制在TFS中的代码覆盖过程中分析的程序集,但有些程序集坚持要进行分析,即使我显式排除它们

这是我当前的
runsettings
文件内容:


*Cloud4Mobile*
*Tests.dll$
*TestUtilities.dll$
*Mobiltec*
但是,当我从Visual Studio运行代码覆盖率来测试此文件时,分析仍会向我显示与筛选器不匹配的其他程序集,如AutoMapper和CacheManager:

请注意,默认情况下,我的设置已经排除了这些程序集,但即使如此,我还是尝试显式排除它们,但没有效果,如下所示:

<Exclude>
  <ModulePath>^AutoMapper.dll$</ModulePath>
  ...
</Exclude>

^AutoMapper.dll$
...
我在那里尝试了正则表达式的所有变体,从限制性较小的(使用。*)到限制性最大的(如该示例)。这些程序集正在污染我在TFS构建摘要中获得的报告,我想将它们从分析中删除。这是我从TFS获得的完整输出,这显然是毫无用处的:


我设法删除了这个.runsettings配置文件中的大多数异常值,但是如何确保这些异常值不会显示在那里呢?考虑到它们与我的include过滤器根本不匹配,为什么它们一开始就显示出来?

我猜是
Automapper.dll中的
导致了这个问题。你能试着用一下吗

<Exclude>
  <ModulePath>.*AutoMapper\.dll$</ModulePath>

*AutoMapper\.dll$

对于默认情况下排除所有内容的情况,您应该在ModulePath排除中使用
*\.dll

这似乎很明显,但是您是否更新了生成定义以包含.runsettings文件?在构建中启用CodeCoverage是一回事,但您必须提供.runsettings文件的路径。

我也尝试过,但也没有成功。我想我尝试了所有可能的包含AutoMapper这个词的排除变体,结果都是一样的。至于您关于排除所有内容的建议,我认为这不起作用,因为排除列表在排除之后进行处理,因此不会选择任何内容。@julealgon您是否也尝试过将此
*AutoMapper.*
添加到
排除
部分/元素?我需要排除测试项目程序集?如何操作是,当时我在构建定义中正确设置了runsettings文件。谢谢你的输入,但是你应该考虑在评论中问这些问题,而不是回答这样的问题。在这里回答问题是相当新鲜的。谢谢你的指导。