我有一个在Visual Studio Team Services(以前称为Visual Studio Online)上运行的构建。我想从代码覆盖率计算中排除一些程序集。基于我已阅读的格式frommanysources。我创建了一个.runsettings文件,如下所示:从Visual Studio团队服务中排除代码覆盖的程序集
<?xml version="1.0" encoding="utf-8"?>
<RunSettings>
<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>
<Exclude>
<ModulePath>*AWSSDK*</ModulePath>
</Exclude>
</ModulePaths>
</CodeCoverage>
</Configuration>
</DataCollector>
</DataCollectors>
</DataCollectionRunSettings>
</RunSettings>
但是,这会产生以下错误:
开始测试执行,请稍候... 错误信息:System.InvalidOperationException:不能混用同步和异步操作在流程上。 在System.Diagnostics.Process.get_StandardError() 在Microsoft.VisualStudio.Coverage.Vanguard.Wait() 在Microsoft.VisualStudio.Coverage.Vanguard.Start(字符串outputName,DataCollectionContext上下文) 在Microsoft.VisualStudio.Coverage。 DynamicCoverageDataCollectorImpl.StartVanguard(DataCollectionContext上下文) 在Microsoft.VisualStudio.Coverage.UnitTestDataCollector.SessionStart(对象发件人,SessionStartEventArgs E) 在Microsoft.VisualStudio.Coverage.DynamicCoverageDataCollector.SessionStart(对象发件人,SessionStartEventArgs E) 在System.EventHandler`1 。调用(Object sender,TEventArgs e) at WEX.TestExecution.TaefDataCollectionEvents.OnSessionStart(SessionStartEventArgs e) at WEX.TestExecution.Dat aCollectorTestMode.Initialize(ITestModeSettings设置,ICallbackRegistrar callbackRegistrar) 信息:另外,如果测试发现者&执行程序作为vsix扩展安装在计算机上并且您的安装支持vsix扩展,您可以尝试指定'/ UseVsixExtensions'命令。示例:vstest.console.exe myTests.dll/UseVsixExtensions:true VSTest测试运行失败,退出代码为:1
是的,有些测试使用async/await。在Visual Studio 2015中,相同的.runsettings文件可以正常工作。如果按照建议操作,请添加以下选项:/UseVsixExtensions:true
,结果相同。我怎样才能解决这个问题?
并且您提供的runsettings文件不应该被发现。格式应该像“。* AWSSDK。* ”。 –
当你构建队列并共享整个日志时,你可以将“system.debug”变量设置为“true”吗? –
令人惊讶的是,根据您的建议更改“ModulePath”的内容解决了问题。让我觉得'InvalidOperationException'是误导性的,甚至可能是一些不好的异常处理? [这里是日志](https://onedrive.live.com/redir?resid=47707C5E85187AB1!450&authkey=!AHgwV59SruF7j3Q&ithint=file%2czip)with system.debug = true对于ModulePath为'* AWSSDK *'(和失败)。 – Snixtor