Входные данные:
- старый TFS с настроенными XAML-определениями сборок
- проект с использованием C# 7
Задача:
- заставить TFS билдить проект
1. Установить на TFS-сервер Visual Studio Build Tools 2017
2. Отредактировать XAML-определение сборки (файл DefaultTemplate.12.0.xaml или другой), добавив внутрь элемента (элементов) mtbwa:MSBuild свойство ToolPath с указанием пути к новой версии MSBuild. Выглядеть это должно примерно так:
3. По мере надобности или при возникновении соответствующей ошибки поправить в солюшне файл msbuild.xml, указав правильный путь к библиотеке Microsoft.Web.Publishing.Tasks.dll:
- старый TFS с настроенными XAML-определениями сборок
- проект с использованием C# 7
Задача:
- заставить TFS билдить проект
Решение.
2. Отредактировать XAML-определение сборки (файл DefaultTemplate.12.0.xaml или другой), добавив внутрь элемента (элементов) mtbwa:MSBuild свойство ToolPath с указанием пути к новой версии MSBuild. Выглядеть это должно примерно так:
<mtbwa:MSBuild CommandLineArguments="[String.Format("/p:SkipInvalidConfigurations=true {0}", MSBuildArguments)]" Configuration="[platformConfiguration.Configuration]" DisplayName="Run MSBuild for Project" GenerateVSPropsFile="[True]" sap2010:WorkflowViewState.IdRef="MSBuild_1" MaxProcesses="[If (MSBuildMultiProc, 0, 1)]" OutDir="[BinariesDirectory]" Platform="[platformConfiguration.Platform]" Project="[localBuildProjectItem]" mva:VisualBasic.Settings="Assembly references and imported namespaces serialized as XML namespaces" Targets="[New String() { "Clean" }]" TargetsNotLogged="[New String() {"GetNativeManifest", "GetCopyToOutputDirectoryItems", "GetTargetPath"}]" ToolPath="c:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\" ToolPlatform="[MSBuildPlatform]" Verbosity="[Verbosity]" />
3. По мере надобности или при возникновении соответствующей ошибки поправить в солюшне файл msbuild.xml, указав правильный путь к библиотеке Microsoft.Web.Publishing.Tasks.dll:
<UsingTask TaskName="TransformXml" AssemblyFile="c:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\Web\Microsoft.Web.Publishing.Tasks.dll" />