У меня есть сборка непрерывной интеграции, работающая на BuildAgent, которую я не могу нормально работать. Недавно я изменил нашу базу кода на С# 6.0 и сменил проекты на ToolsVersion 14.
Я установил Visual Studio 2015 на сервере сборки (TFS 2012). Если я теперь проверю код С# 6.0, сборка завершится неудачно в первом проекте ( "$" является неожиданным или что-то ")
Строка BuildTemplate - "DefaultTemplate.11.1" Если я проверю файлы журнала, сборка вызывает неправильный файл csc.exe(C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Csc.exe)
если я запускаю исполняемый файл MSBuild/14.0/Bin/MSBuild с проектом без каких-либо переключений, сборка выполнена успешно. Почему TFS BuildAgent не использует ToolsVersion и как я могу получить TFS 2012 для создания моего решения Visual Studio 2015
Если я добавлю MSBuildArgument/tv:14.0, он все равно не работает. Как он называет версию 12 MSBuild, которая является частью .NET Framework 4.6 Framework, которая поставляется с Visual Studio 2015.
Изменение инструментальной части действия MSBuild действительно приводит к работе Build, но сплевывает пули, если я пытаюсь запустить свой UnitTest. Я получаю исключение dlls "Microsoft.VisualStudio.TestPlatform.Utilities.dll". (VS2012 также установлен на сервере сборки).
UPDATE: У меня теперь есть другая ошибка с моими модульными тестами:
TF900548: An error occurred publishing the Visual Studio test results.
Details: 'Method not found:
'System.Collections.Generic.IEnumerable<System.String>
Microsoft.VisualStudio.TestPlatform.Utilities.InferSettingsHelper.MergeRunSettingsAndFindCompatibleSources(Microsoft.VisualStudio.TestPlatform.ObjectModel.Architecture
ByRef,
Microsoft.VisualStudio.TestPlatform.ObjectModel.FrameworkVersion
ByRef, System.String, System.String,
System.Collections.Generic.IDictionary`2<System.String,System.Collections.Generic.KeyValuePair`2<Microsoft.VisualStudio.TestPlatform.ObjectModel.Architecture,Microsoft.VisualStudio.TestPlatform.ObjectModel.FrameworkVersion>>,
System.Xml.XPath.IXPathNavigable, System.String ByRef)'.'