2016-04-26 17 views
1

Visual Studio Team Services(旧称Visual Studio Online)上でビルドを実行しています。コードカバレッジ計算からアセンブリの一部を除外したいと思います。私が読んだ形式に基づいてfrommanysources。次のように私は.runsettingsファイルを作成しました:Visual Studio Team Servicesのコードカバレッジからアセンブリを除外する

<?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が:同期と非同期操作を混在させることはできませんがオンプロセスストリーム。 Microsoft.VisualStudio.CoverageでMicrosoft.VisualStudio.Coverage.Vanguard.Start(文字列outputName、DataCollectionContextコンテキスト)でMicrosoft.VisualStudio.Coverage.Vanguard.WaitでSystem.Diagnostics.Process.get_StandardErrorで () () 。 System.EventHandler`1でMicrosoft.VisualStudio.Coverage.DynamicCoverageDataCollector.SessionStart(オブジェクト送信者、SessionStartEventArgs e)にMicrosoft.VisualStudio.Coverage.UnitTestDataCollector.SessionStart(オブジェクト送信者、SessionStartEventArgs E) でDynamicCoverageDataCollectorImpl.StartVanguard(DataCollectionContextコンテキスト) .Invoke(オブジェクト送信者、TEventArgs e) 、WEX.TestExecution.TaefDataCollectionEvents.OnSessionStart(SessionStartEventArgs e) at WEX.TestExecution.Datまた、テスト検出者&エグゼキュータがマシンにvsix拡張機能としてインストールされ、インストールでvsix拡張機能がサポートされている場合は、 '/ UseVsixExtensions'コマンドを指定してみることもできます。例:vstest.console.exe myTests.dll/UseVsixExtensions:true 終了コードでVSTestテストの実行に失敗しました:1

はい、一部のテストではasync/awaitが使用されています。同じ.runsettingsファイルがVisual Studio 2015で正常に動作します。私が提案して、次のオプションを追加した場合:/UseVsixExtensions:true、結果は同じです。これをどうすれば解決できますか?ファイルと一致する正規表現式を以下

+1

あなたが提供したrunsettingsファイルでは、テストは見つからないはずです。形式は「。* AWSSDK。*」のようになります。 –

+0

ビルドをキューに入れてログ全体を共有するときに、 "system.debug"変数を "true"に設定できますか? –

+0

驚いたことに、あなたの推奨に従って 'ModulePath'の内容を変更すると、問題が解決しました。 'InvalidOperationException'は誤解を招き、多分いくつかの悪い例外処理さえあると私に打ち明けますか? ModulePathが '* AWSSDK *'であるビルドでは、[ここにログがあります](https://onedrive.live.com/redir?resid=47707C5E85187AB1!450&authkey=!AHgwV59SruF7j3Q&ithint=file%2czip)とsystem.debug = trueがあります。失敗する)。 – Snixtor

答えて

2

runsettingsファイルの使用:あなたが唯一持っているので、あなたの元のパスで

Regular expressions Include and exclude nodes use regular expressions. For more information, see Using Regular Expressions in Visual Studio. Regular expressions are not the same as wildcards. In particular:

.* matches a string of any characters

. matches a dot ".")

() matches parentheses "()"

\ matches a file path delimiter "\"

^ matches the start of the string

$ matches the end of the string

は、すべてのファイルは、パスに「*」除外されます。詳細はRegular Expressions in Visual Studioのこのリンクを参照してください。

悪い例外として、提供されたログに従って、Hosted Build Agentでビルドを実行しています。私はHosted Build Agentを使用して簡単なテストを行い、この問題も再現できます。しかし、私自身のビルドエージェントで試してみると、この問題は発生しません。私はいくつかのHosted Build Agentの設定/構成がこの問題の原因であると考えています。私はMicrosoft Connect Pageのフィードバックを送信するのに役立ちます。 Invalid exception when run testing from Hosted Build Agent

+0

素敵なエディ。完璧な説明、すぐにバグレポートを作成することによって、呼び出しを超えて行く。 – Snixtor

関連する問題