Проблемы со сборкой TFS 2015

Привет, я стучал головой в течение последних нескольких дней.

Вот ситуация...
1. У меня есть учетная запись VSO, которая поддерживает TFS в облаке.
2. Установил сервер/агент сборки на другом компьютере. (Прекрасно работает)
3. Попытался собрать (сборка XAML) одно решение, используя этот сервер/контроллер.
4. Получил сообщение об ошибке...

«Импортированный проект «C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\WebApplications\Microsoft.WebApplication.targets» не найден. Убедитесь, что путь в объявлении правильный и что файл существует на диске».

Сервер сборки и агенты взяты из TFS 2015, а проект — это проект Visual Studio 2015 с использованием платформы 4.6. Я ожидал папку "v14" для целевых файлов во время сборки. Почему он пытается найти что-то из папки "v11"? И как мне это решить.

Я знаю, что могу копировать файлы в "v11", но я не хочу уходить от фактов. Должна быть причина и правильное решение. Любая помощь будет приятно.


person Suman Kr. Nath    schedule 20.10.2015    source источник
comment
Что такое ToolsVersion в файле csproj? Это <Project ToolsVersion="14.0"?   -  person Jerry Joseph    schedule 19.02.2016


Ответы (3)


Несколько решений для вас, чтобы исправить эту ошибку:

S1: Установите MSBuild.Microsoft.VisualStudio.Web.targets из галереи NuGet с помощью следующей команды: Install-Package MSBuild.Microsoft.VisualStudio.Web.targets.
Затем замените следующую строку в файле .proj

<Import Project="$(MSBuildBinPath)\Microsoft.WebApplication.targets" />

с участием

<Import Project="$..\packages\MSBuild.Microsoft.VisualStudio.Web.targets.14.0.0\tools\VSToolsPath\WebApplications" />

S2: задайте аргумент /p:VisualStudioVersion=12.0 MSBuild в определении сборки.
S3: скопируйте файл Microsoft.VisualStudio.Web.targets в папку C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11. .0\WebApplications на машине с агентом сборки.
Шаг 4. Установите VS2012 на машину с агентом сборки TFS, как Патрик упоминал выше.

И связанные случаи: Microsoft.WebApplication.targets и Microsoft.WebApplication.targets не найден на сервере сборки. Каково ваше решение?

person Vicky - MSFT    schedule 22.10.2015

WebApplications\Microsoft.WebApplication.targets (11.0) (который исходит от VS2012) упоминается в вашем веб-приложении, поэтому для решения этой проблемы на вашем сервере сборки должна быть установлена ​​Visual Studio 2012.

Обратите внимание: чтобы гарантировать успешное выполнение сборки TFS, вы должны убедиться, что ваш компьютер с агентом сборки имеет некоторую среду в качестве компьютера-разработчика.

person PatrickLu-MSFT    schedule 21.10.2015
comment
Спасибо за ваш ответ, но я думаю, что вы упустили суть. Я использую Visual Studio 2015. Все компоненты установлены в версии 14.0, и нет ожидаемой папки версии 11.0. Почему MSbuild переопределяет цель и принудительно доходит до версии 11.0! пример файла проекта: ‹Import Project=$(MSBuildBinPath)\Microsoft.CSharp.targets /› ‹Import Project=$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets Condition='$(VSToolsPath)' != '' /› ‹Импортировать проект=$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v14.0\WebApplications\Microsoft.WebApplication.targets Condition=false /› - person Suman Kr. Nath; 21.10.2015

Вы восстанавливали предыдущую коллекцию в TFS 2015 из предыдущей версии TFS? Было ли ваше решение или какие-либо проекты в вашем решении созданы до VS2015?

person Mike    schedule 21.10.2015