Сбой работы с TFS для Framework 4.7.2

Я установил фреймворк 4.7.2 на сервере TFS 2013 и попытался построить задание с помощью msbuild.

Я получаю следующую ошибку:

Задача Параметр: TargetFrameworkMoniker =.NETFramework, Version = v4.7.2 (TaskId: 6) C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(1098,5): ошибка MSB3644: ссылочные сборки для фреймворка ".NETFramework, Version = v4.7.2" не найдены. Чтобы решить эту проблему, установите пакет SDK или Targeting Pack для этой версии фреймворка или перенастройте приложение на версию фреймворка, для которого установлен пакет SDK или Targeting Pack. Обратите внимание, что сборки будут решены из глобального сборочного кэша (GAC) и будут использоваться вместо ссылочных сборок. Поэтому ваша сборка может быть неправильно нацелена на структуру, которую вы планируете использовать. Свойство вывода: _TargetFrameworkDirectories =

Любые идеи о том, что я могу проверить, чтобы FW 4.7.2 работал с MsBuild

Ответ 1

У нас просто была очень похожая проблема, хотя мы используем Azure Devops, а не TFS (но я думаю, что процесс сборки должен быть достаточно похожим, по крайней мере, в этом отношении).

Я решил эту проблему, обновив .NET Framework на сервере сборки, а также установив пакет для разработчиков .NET Framework 4.7.2, который вы можете получить здесь: https://www.microsoft.com/net/download/visual-studio -sdks

Не забудьте перезагрузиться (как я сделал). После этого, как предложил Лео, попробуйте открыть проект в Visual Studio непосредственно на сервере сборки или вручную запустить msbuild из командной строки.

Ответ 2

В некоторых случаях определение сборки на первый взгляд может выглядеть хорошо. My Build > Tasks > Pipeline может быть выбран правильный пул агентов.

Однако в задании агента может быть выбран совершенно другой пул агентов.

В этом случае просто выберите правильный пул агентов и Save & queue поставьте в Save & queue новую сборку, чтобы решить проблему.