在Teamcity中使用捆绑版dotCover导致"目标可执行文件不存在"错误?

时间:2015-03-23 00:12:26

标签: teamcity dotcover

我们正在尝试设置Teamcity,并且在添加代码覆盖时遇到了问题,导致"目标可执行文件不存在"错误信息。

构建配置目前是否包含两个步骤;第一步是跑步者类型Visual Studio(sln),第二步是跑步者类型MSTest。这些运行正常,直到我们将.NET Coverage添加到MSTest步骤。我们对.NET Coverage的配置是:

  • .NET Coverage工具:JetBrains dotCover dotCover路径
  • 主页:{blank}
  • 过滤器:+:UnitTest.Search.dll
  • 属性过滤器:{none}

我们还尝试将dotCover Home路径和额外权限添加到构建服务器上的Teamcity文件夹,但错误仍然一致。我们已经添加了" teamcity.agent.dotCover.log"配置参数给了我们这个输出:

08:19:31.414 |I|                               | JetBrains dotCover Console Runner 3.0.2. Build 20150303.1317.
08:19:31.453 |I|                               | LogLevel: INFO
08:19:32.178 |I|                               | 'cover' command
08:19:32.180 |I|                               | /LogFile=D:\TeamCity\buildAgent\temp\buildTmp\dotCoverLogs\dotCover-cover-57200806543828190721.log (CommandLine)
08:19:32.180 |I|                               | /Executable=D:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\MSTest (Xml)
08:19:32.180 |I|                               | /Arguments=/testcontainer:D:\TeamCity\buildAgent\work\f09bf2f330c2ab9a\UnitTest.Notifications\bin\Release\UnitTest.Notifications.dll /testcontainer:D:\TeamCity\buildAgent\work\f09bf2f330c2ab9a\UnitTest.Search\bin\Release\UnitTest.Search.dll /testcontainer:D:\TeamCity\buildAgent\work\f09bf2f330c2ab9a\UnitTest.MiddleTier\bin\Release\UnitTest.MiddleTier.dll /testcontainer:D:\TeamCity\buildAgent\work\f09bf2f330c2ab9a\UnitTest.Utils\bin\Release\UnitTest.Utils.dll /testcontainer:D:\TeamCity\buildAgent\work\f09bf2f330c2ab9a\UnitTest.MiddleTier\bin\Release\UnitTest.Utils.dll /resultsfile:D:\TeamCity\buildAgent\temp\buildTmp\tmpE859.tmp.teamcity.trx (Xml)
08:19:32.180 |I|                               | /WorkingDir=D:\TeamCity\buildAgent\work\f09bf2f330c2ab9a (Xml)
08:19:32.180 |I|                               | /TempDir=D:\TeamCity\buildAgent\temp\buildTmp (Xml)
08:19:32.180 |I|                               | /Output=D:\TeamCity\buildAgent\temp\buildTmp\coverage_dotcover13940396202529873921.data (Xml)
08:19:32.180 |I|                               | /Filters=+:UnitTest.Search.dll;-:JetBrains.BuildServer.*;-:JetBrains.TeamCity.* (Xml)
08:19:32.180 |I|                               | Current directory: D:\TeamCity\buildAgent\work\f09bf2f330c2ab9a
08:19:32.180 |I|                               | Validating command...
08:19:32.182 |I|                               | Executing command...
08:19:32.247 |W|                               | Target executable doesn't exist

--- EXCEPTION #1/2 [CommandExecutionException]
Message = “Target executable doesn't exist”
ExceptionPath = Root.InnerException
ClassName = JetBrains.dotCover.Core.ConsoleRunner.CommandExecutionException
HResult = COR_E_APPLICATION=80131600
Source = JetBrains.dotCover.Core
StackTraceString = “
  at JetBrains.dotCover.Core.ConsoleRunner.Commands.Cover.CoverCommand.Execute(CommandExecutionContext context)
     at JetBrains.dotCover.Core.ConsoleRunner.ConsoleRunnerBackend.Execute(ICommandLine commandLine, Func`1 componentContainerGetter)
”

--- Outer ---

--- EXCEPTION #2/2 [LoggerException]
Message = “Target executable doesn't exist”
ExceptionPath = Root
ClassName = JetBrains.Util.LoggerException
InnerException = “Exception #1 at Root.InnerException”
HResult = COR_E_APPLICATION=80131600
StackTraceString = “”

08:19:32.459 |I|                               | Target executable doesn't exist.
08:19:32.459 |I|                               | Console Runner execution finished
08:19:32.459 |I| Main                          | Console Runner exit code: -2

您可以提供任何建议来帮助我们解决此问题。感谢。

1 个答案:

答案 0 :(得分:0)

在一些帮助下,我已经能够解决这个问题,结果证明这是我添加的一个糟糕的系统参数。

要解决单元测试不起作用的问题,我添加了此系统参数:

Name:  system.MSTest.12.0
Value: D:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\MSTest

这导致单元测试工作,但是当我配置代码覆盖率时,出现“目标可执行文件不存在”错误。要解决这个问题,我必须将系统参数更新为:

Name:  system.MSTest.12.0
Value: D:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\MSTest.exe

我假设单元测试工作时遇到的问题是dotCover而不是MSTest,错误中没有任何内容表示其他情况。


作为旁注,我必须添加系统参数的原因是因为Teamcity没有自动检测MSTest的安装。我认为这是因为它安装在不同的驱动器上,但我无法确认。我已经用JetBrains提出了它,希望他们可以解决它。