4

開いたカバーに対してビルド引数を実行しようとしていますが、場所自体にスペースがあるため、ファイルの場所が見つかりません

  <executable>C:\Program Files (x86)\OpenCover\OpenCover.Console.exe</executable>
  <buildArgs>-register:user -target:"C:\Program Files (x86)\NUnit 2.6.2\bin\nunit-console.exe" -targetargs:"C:\Users\username\Documents\Visual Studio 2010\Projects\WebCrawlerMVC\WebCrawlerMVC.Tests\bin\Debug\WebCrawlerMVC.Tests.dll" /noshadow /xml=reports\TestResult.xml" - filter:"+[WebCrawlerMVC.Tests*]*  -output:"C:\Program Files (x86)\CruiseControl.NET\server\reports\coverage.xml" </buildArgs>
  </exec>
  <exec>
    <executable>C:\Program Files (x86)\ReportGenerator\bin\ReportGenerator.exe</executable>
    <buildArgs>-reports:reports\coverage.xml</buildArgs>

OpenCoverコンソールから実行すると、ファイルタイプが不明としてエラーが発生します:C:Users \ username \ Documents \ Visual

したがって、ファイルパス全体を表示することはできませんが、これを回避する方法はありますか?私の議論全体にはまだいくつかのエラーがあることを理解していますが、これを解決するまでそれらを修正することはできません。

アップデート:

  targetargs:"\"C:\Users\lardern\Documents\Visual Studio 2010\Projects\WebCrawlerMVC\WebCrawlerMVC.Tests\bin\Debug\WebCrawlerMVC.Tests.dll"

"\" C:間隔を空けることができるようです。コードにエラーがありますが、ファイルパスの問題はなくなりました。

Update2:

  <task>
  <exec>
  <executable>C:\Program Files (x86)\OpenCover\OpenCover.Console.exe</executable>
  <buildargs>-target:"C:\Program Files (x86)\NUnit 2.6.2\bin\nunit-console.exe" -register:user -targetargs:"/nologo /noshadow \"C:\Users\username\Documents\Visual Studio 2010\Projects\WebCrawlerMVC\WebCrawlerMVC.Tests\bin\Debug\WebCrawlerMVC.Tests.dll" -filter:+[WebCrawlerMVC]* -output:coverage.xml </buildargs>
  </exec>
  </tasks>

これは作業バージョンです。

4

2 に答える 2

5

アセンブリへのパスをラップする引用符をエスケープしてみてください

<buildArgs>-register:user -target:"C:\Program Files (x86)\NUnit 2.6.2\bin\nunit-console.exe" 
"-targetargs:\"C:\Users\username\Documents\Visual Studio 2010\Projects\WebCrawlerMVC\WebCrawlerMVC.Tests\bin\Debug\WebCrawlerMVC.Tests.dll\" /noshadow /xml=reports\TestResult.xml" - filter:"+[WebCrawlerMVC.Tests*]*"  -output:"C:\Program Files (x86)\CruiseControl.NET\server\reports\coverage.xml" </buildArgs>
于 2013-01-17T12:54:42.820 に答える
2

たぶん、このリンクは少し助けになるでしょう。

環境変数はopencoverに渡される前に展開され、パス名にスペースがあるように見えます。Usage Wikiには、スペースを含む引数は\ "でエスケープする必要があると記載されています。OpenCoverで使用するには、エスケープされたパスを使用して新しい変数を作成することをお勧めします。

ちょっとした考え。

于 2013-01-17T11:42:06.437 に答える