2015-09-18 6 views
4

Я только что обновил все проекты в своем решении, чтобы указать на .Net 4.6 (Существует веб-приложение, некоторые библиотеки классов, проект базы данных и т. Д.). У меня есть сборка CI, созданная в Visual Studio Team Services (с использованием новой системы сборки, а не XAML), которая успешно строилась до обновления. Это определение сборки выполняется отладка, Балетмейстер и производства строит и определение сборки состоит из двух этапов:Ошибка сборки CI с помощью этапа Visual Studio после обновления .Net 4.6 - завершение процесса исполнителя; Не было прослушивания конечных точек в net.pipe

  • Visual Studio Построить
  • Visual Studio Test

До этого рамочного обновления, все было здание прекрасный. Я обновил и построил все на местном уровне, и все это отлично работало. Я мог бы провести тесты и получить зеленый цвет по доске. Теперь, когда я проверил мой код в нем стартовал построить CI, и я получил следующее сообщение об ошибке/с на шаге «Visual Studio Test» (взято из журналов):

2015-09-18T19:08:02.1212067Z Microsoft (R) Test Execution Command Line Tool Version 14.0.23107.0 
2015-09-18T19:08:02.1489666Z Copyright (c) Microsoft Corporation. All rights reserved. 
2015-09-18T19:08:02.8906952Z Starting test execution, please wait... 
2015-09-18T19:08:03.3713251Z Warning: Using Isolation mode to run tests as required by effective Platform:X86 and .Net Framework:Framework35 settings for test run. Use the /inIsolation parameter to suppress this warning. 
2015-09-18T19:08:07.4457804Z ##[error]Error: Executor process exited. 
2015-09-18T19:08:07.4457804Z ##[error] 
2015-09-18T19:08:07.4557251Z ##[error]Error: There was no endpoint listening at net.pipe:[...redacted...] that could accept the message. This is often caused by an incorrect address or SOAP action. See InnerException, if present, for more details. 
2015-09-18T19:08:07.4557251Z ##[error] 
2015-09-18T19:08:07.7730938Z ##[error]VSTest Test Run failed with exit code: 1 
2015-09-18T19:08:07.8043435Z ##[warning]No results found to publish. 

Визуальная Студия Строить пассы для всех трех конфигураций, и для теста Debug выполняется только сбой, потому что он не может найти никаких тестов для двух других конфигураций. Кроме того, мои сборки запускаются из Azure VM, которые я встал, чтобы выступать в качестве сервера сборки, и когда я запускаю сборку CI с использованием контроллера сборки Hosted, проходит шаг теста, поскольку он не может найти никаких тестов для выполнения, но предупреждение об использовании режима «Изоляция для запуска тестов ...» все еще распечатывается в журнале.

Это известная проблема? Кто-нибудь еще столкнулся с этим после обновления 4.6 или в другом контексте в VSTS?

Изменить: .Net Framework 4.6 SDK и нацеливание пакета/s установлены на машине построения: From 'Programs and Features' on build server

+0

Если вы установили Azure VM в качестве машины сервера сборки, все сборки и тесты выполняются на этой виртуальной машине. Таким образом, вы должны быть уверены, что тест можно успешно запустить непосредственно на виртуальной машине (не через процесс сборки). Кроме того, сообщение об ошибке, показанное выше, всегда возникает, когда некоторые трафики блокируются брандмауэром, поэтому проверьте настройки брандмауэра на этой Azure VM. –

+0

Я успешно проверил все тесты с помощью Visual Studio 2015 на Azure VM (сервер сборки) и все еще испытываю ошибку выше при запуске тестовой задачи через VSO. Что касается настроек брандмауэра, как это может повлиять на обновление проекта .Net 4.6? Ничего с брандмауэром не изменилось. Благодаря! –

+0

Вы используете файл .runsettings? –

ответ

2

Я нашел обходной путь для временных существ, которое работает в настоящее время. Я изменил настройки для этапа сборки Visual Studio Test следующим образом:

На вкладке настроек шага, разверните раздел «Дополнительно» и измените версию VSTest на «Visual Studio 2013».

Это все, что потребовалось для меня. Я попробовал это, потому что моя сборка работала, когда я переключился на контроллер сборки Hosted, и это было одним из различий между ними в журналах. Это единственное, что я изменил, и это сработало. Я понятия не имею, ПОЧЕМУ версия VSTest для Visual Studio 2015 не работает, но будет изучать ее больше и добавить к ней, если найду что-нибудь ...

13

Первое предупреждение предполагает, что тесты выполняются на .NET 3.5 : Warning: ... effective Platform:X86 and .Net Framework:Framework35 ...

Таким образом, я явно установил версию каркаса vstest.console на 4.5. (В это время 4.6 недоступен). Это разрешило мне эти симптомы.

Для этого отредактируйте Visual Studio Test шаг построения. На вкладке настроек шага Build разверните раздел Advanced и установите Другие варианты консоли по /Framework:Framework45.

Other console options: /Framework:Framework45

+1

Это сработало для меня;) – jangelfdez

+2

Работает, но по-прежнему отсутствует опция Framework46 с этим комментарием, используя обновление TFS 2015 1. В сборках .NET 4.6 все еще нужно использовать Framework45 для этой опции вручную. –

+0

Спасибо, это сработало и для меня :) –

0

я испытал эту ошибку (в частности, код выхода VSTest) после обновления тестового проекта до 4.6.1. Проблема заключалась в том, что package.config не обновлял бегун Framework Framework pacakge, правильно оставляя его на .Net 3.5. Устранена проблема обновления целевой структуры.