我有一個在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