【问题标题】:OpenCover Can't find file locationOpenCover 找不到文件位置
【发布时间】:2013-01-17 11:26:50
【问题描述】:

我正在尝试针对打开的封面运行构建参数,但我找不到文件位置,因为位置本身有空格

  <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: 似乎允许空格通过,我的代码仍然有错误,但它不再是文件路径问题。

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

这是工作版本。

【问题讨论】:

    标签: nunit cruisecontrol.net opencover


    【解决方案1】:

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

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

    【讨论】:

    • 我复制并粘贴,但它给了我同样的错误,但我输入 pastebin.com/ZbmjCvbc 它运行测试,但随后返回没有与供应商匹配的程序集可能由于 webcrawler.dll 中缺少 pdb 说它缺少 pdb 但它实际上位于同一文件夹中,过滤器是否错误?
    • 在您的粘贴中,您第一次逃脱但错过了另一个Debug\WebCrawlerMVC.Tests.dll\" /noshadow
    【解决方案2】:

    也许this link 会提供一些帮助。

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

    只是一个想法。

    【讨论】:

    • 这解决了问题,但我希望将其保留在当前文件位置,如果没有人找到更好的解决方案,我将标记为已回答,谢谢亚当。
    • 链接坏了,有什么问题?
    • 抱歉,我不记得了。我猜重要的部分是引用的内容。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多