我正在尝试针对打开的封面运行构建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:Users \ username \ Documents \ Visual当我通过OpenCover控制台运行时
所以它无法查看整个文件路径,有没有办法解决这个问题?我意识到我的整个论点仍会有一些错误,但在解决这个错误之前我无法修复它们。
更新
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>
这是工作版。
答案 0 :(得分: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>
答案 1 :(得分:1)
也许this link会提供一些帮助。
环境变量在传递给opencover之前已经扩展,看起来你的路径名中有空格。 Usage Wiki描述了包含空格的参数必须使用\“进行转义。我建议您创建一个带有转义路径的新变量,以便与OpenCover一起使用。
只是一个想法。