Nunit 开盖罐';找不到文件位置

Nunit 开盖罐';找不到文件位置,nunit,cruisecontrol.net,opencover,Nunit,Cruisecontrol.net,Opencover,我正在尝试对open cover运行构建args,但找不到文件位置,因为该位置本身有空格 <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" -targetarg

我正在尝试对open cover运行构建args,但找不到文件位置,因为该位置本身有空格

  <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>
“\”C:似乎允许间隔通过,我的代码仍然有错误,但它不再是一个文件路径问题

更新2:

  <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>

C:\ProgramFiles(x86)\OpenCover\OpenCover.Console.exe
-目标:“C:\ProgramFiles(x86)\NUnit 2.6.2\bin\NUnit console.exe”-注册:user-targetargs:“/nologo/noshadow\”C:\Users\username\Documents\Visual Studio 2010\Projects\WebCrawlerMVC\WebCrawlerMVC.Tests\bin\Debug\WebCrawlerMVC.Tests.dll”-过滤器:+[WebCrawlerMVC]*-输出:coverage.xml
这是工作版本。

可能会提供一些帮助

在传递给opencover之前,环境变量已展开,看起来您的路径名中有空格。用法Wiki描述了其中有空格的参数必须用\“”转义。我建议您创建一个带有转义路径的新变量,以便与OpenCover一起使用


只是想一想。

尝试转义包装程序集路径的引号

<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>
-注册:用户-目标:“C:\ProgramFiles(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”-过滤器:“+[WebCrawlerMVC.Tests*]”输出:“C:\Program Files(x86)\CruiseControl.NET\server\reports\coverage.xml”

这解决了问题,但我希望将其保留在当前的文件位置,如果没有人找到更好的解决方案,我将标记为已回答,非常感谢Adam。链接已断开,有什么?抱歉,我想不起来了。我猜重要的部分是引用的。我复制并粘贴了,但它给了我相同的错误,但我输入了它运行测试,但返回时没有与供应商匹配的程序集,因为webcrawler中缺少pdb。dll说它缺少pdb,但它实际上位于同一文件夹中,过滤器是否错误?在粘贴中,您有第一个转义,但错过了另一个
Debug\WebCrawlerMVC.Tests.dll\“/noshadow
<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>