Erros do Sonar Runner durante o processamento do arquivo .coveragexml produzido no MSTest do Visual Studio

Estou tentando processar meu arquivo .coveragexml (depois de converter o arquivo .coverage) que recebo após usar o MSTest na linha de comando, mas o Sonar Runner continua falhando ao tentar analisar o arquivo. Os erros consistem em erros de análise, como um '?' Inesperado além de não conseguir encontrar a tag no arquivo.

Tentei algumas maneiras de obter o arquivo .coveragexml: usando os comandos "vsinstr -coverage ..." e "start vsperfmon -coverage ..." (executando o MSTest) na linha de comando, alterando o arquivo .testrunconfig e indicando para quais dlls quero obter cobertura e tentei usar "CodeCoverage.exe collect ...". Os dois primeiros obtiveram êxito na obtenção de dados de cobertura de código, mas tive problemas ao obter "CodeCoverage.exe collect ..." para coletar resultados. Embora eu possa obter os resultados da cobertura do código coletado nos dois primeiros, o arquivo .coveragexml produzido não parece estar no formato correto que o SonarQube aceita, mesmo que indique na página do plug-in do VB.NET que oferece suporte ao MSTest e Arquivos de cobertura de código XML do VSTest. Tentei usar o VSTest e posso obter meus arquivos .coveragexml para serem aceitos pelo Sonarqube sem nenhum erro. O problema é que a empresa na qual estou trabalhando usa o MSTest para executar todos os seus testes de unidade, por isso preciso obter dados .coveragexml usando o MSTest.

Outra coisa que notei foi que, quando tento exportar o arquivo .coverage como .coveragexml no Visual Studio (para MSTest ou VSTest), ele produz um formato .coveragexml que o Sonarqube não aceita (apenas erros devido ao erro erros que eu mencionei acima). Quando uso o comando "CodeCoverage.exe analyse ..." para converter o arquivo .coverage do VSTest, ele produz um formato .coveragexml que o Sonarqube aceita, pois não recebo erros e posso ver meus resultados de cobertura de código no painel. Agora, quando tento usar o comando "CodeCoverage.exe analyse ..." para converter o arquivo .coverage do MSTest, nada acontece. Nenhum arquivo .coveragexml é produzido e nenhum erro ou qualquer tipo de feedback é fornecido. Também tentei escrever um método C # para converter o arquivo .coverage em um arquivo .coveragexml usando o Microsoft.VisualStudio.Coverage.Analysis. Mas ele produz o mesmo arquivo .coveragexml de formato, como se eu o estivesse exportando do Visual Studio.

Outras coisas que podem ser úteis saber:

Estou executando a análise no código VB.NET.Estou usando a versão 2.2 do plugin VB.NET do Sonarqube.Estou usando a versão 4.3.2 do Sonarqube e a versão 2.4 do SonarQube Runner.Estou usando o Visual Studio 2013 Premium.

(O SonarQube comete erros) O formato do arquivo .coveragexml após exportá-lo do Visual Studio é o seguinte:

<CoverageDSPriv>
<xs:schema ...>
  ...
</xs:schema>
<Module>
  <ModuleName>...</ModuleName>
  <ImageSize>...</ImageSize>
  ...
  <NameSpaceTable>
    <BlocksCovered>...</BlocksCovered>
    ...

(O SonarQube aceita) O formato do arquivo .coveragexml após o uso de "CodeCoverage.exe analyse ..." (funciona apenas com o arquivo .coverage do VSTest)

<?xml version="1.0" encoding="UTF-8" ?>
<results>
  <modules>
    <module name="..." path="..." id="..." block_coverage="..." line_coverage="..."  blocks_covered="..." ... >
      <functions>
        <function id="..." token="..." name="..." type_name="..." block_coverage="..." >
        ...

Parece que existem dois esquemas completamente diferentes para esses dados e o SonarQube está aceitando apenas um deles, é esse o caso? Existe outra maneira de converter os dados de cobertura para aquele que o SonarQube aceita?

questionAnswers(2)

yourAnswerToTheQuestion