Недопустимые символы в пути при выполнении шага сборки TeamCity VSTest

Я пытаюсь выполнить модульные тесты в TeamCity (версия 9.1.6, сборка 37459), используя встроенный бегун тестов Visual Studio. Причина, по которой я использую это, заключается в том, что некоторые модульные тесты используют сборки Fakes и не могут быть выполнены с помощью MSTest.

Когда этот шаг выполняется, он завершается с ошибкой System.ArgumentException: Illegal characters in path. со следующим журналом

Custom logger detection logic disabled
VSTest will report tests to TeamCity after run
VSTest executable: "C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe"
Command line params: [[C:\TeamCity\buildAgent\work\475c180054f4c61d\NS\TestProject\bin\Debug\TestProject.dll] [/Settings:NS/localtestrun.testsettings] [/Logger:trx] [/Platform:x86]]
Starting: "C:\Program Files (x86)\TeamCity\buildAgent\plugins\dotnetPlugin\bin\JetBrains.BuildServer.NUnitLauncher.exe" #TeamCityImplicit
in directory: C:\TeamCity\buildAgent\work\475c180054f4c61d
2016-02-16 15:07:01,920 [7092] ERROR JetBrains.BuildServer.NAntLoggers.NUnitLauncher2 - Illegal characters in path.
System.ArgumentException: Illegal characters in path.
   at System.IO.Path.CheckInvalidPathChars(String path, Boolean checkAdditional)
   at System.IO.Path.IsPathRooted(String path)
   at JetBrains.TeamCity.Utils.FileUtil.MakeFullPath(String path, String workDir) in c:\BuildAgent\work\ad31cec0a1b0f083\src\Utils\src\FileUtil.cs:line 48
   at JetBrains.TeamCity.GenericProcessSupport.GenericProcessTargetGenerator.GenerateTargetContent(IGenericProcessArguments argz) in c:\BuildAgent\work\ad31cec0a1b0f083\src\GenericProcessSupport\src\GenericProcessTargetGenerator.cs:line 31
   at JetBrains.TeamCity.GenericProcessSupport.GenericProcessRunnerFactory.CreateRunner(ITestRunArguments args) in c:\BuildAgent\work\ad31cec0a1b0f083\src\GenericProcessSupport\src\GenericProcessRunnerFactory.cs:line 35
   at JetBrains.BuildServer.NAntLoggers.RunnerFactory.FindTestRunner(ITestRunArguments arguments) in c:\BuildAgent\work\ad31cec0a1b0f083\src\NUnitBootstrap\src\RunnerFactory.cs:line 46
   at JetBrains.BuildServer.NAntLoggers.RunnerFactory.CreateTestRunner(ITestRunArguments arguments) in c:\BuildAgent\work\ad31cec0a1b0f083\src\NUnitBootstrap\src\RunnerFactory.cs:line 31
   at JetBrains.BuildServer.NAntLoggers.NUnitLauncher2.Run2(String[] args) in c:\BuildAgent\work\ad31cec0a1b0f083\src\NUnitBootstrap\src\NUnitLauncher2.cs:line 100
   at JetBrains.BuildServer.NAntLoggers.NUnitLauncher2.Run(String[] args) in c:\BuildAgent\work\ad31cec0a1b0f083\src\NUnitBootstrap\src\NUnitLauncher2.cs:line 56

Ни одна из статей/сообщений в блогах, которые я нашел в Интернете, не работала, и я не могу ни сказать, какой путь содержит недопустимые символы, ни что это за символы.

Кто-нибудь может помочь? Спасибо.


person Karel Frajták    schedule 16.02.2016    source источник


Ответы (1)


Столкнулся с той же проблемой. После нескольких часов гугления проблема заключается в добавлении кавычек в значение параметра. Удалите его, и он будет работать. Нашел, сравнивая журнал успешной сборки с неудачной. При успешном запуске в этой строке не было кавычек: исполняемый файл VSTest: " C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console. exe "

person Alex Filippov    schedule 02.11.2018