Я создаю новый сервер сборки для поддержки миграции нашей команды разработчиков от VS2010 до VS2013. Мы еще не переносим наш сервер TFS, так что новый сервер сборки был настроен как контроллер сборки VS2010 с 2 агентами. Я также установил VS2013 на машине (метод кувалды).
Весь наш код был перенесен в целевой .Net 4.5.1 и компилируется на рабочей станции разработчика.
Большинство наших решений построены отлично, за исключением решения, содержащего веб-проекты. Эти проекты жалуются:
Не удалось найти импортированный проект "C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\WebApplications\Microsoft.WebApplication.targets".
Импортированный проект использует переменную VisualStudioVersion в процессе сборки через эти две строки:
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
...
<Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" />
который согласно этой странице:
http://msdn.microsoft.com/en-us/library/vstudio/bb383796.aspx
будет установлено значение "11.0" для целей 4.5 и 4.5.1. Но машина сборки имеет только 12.0 версию вышеуказанного пути:
"C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\WebApplications\Microsoft.WebApplication.targets"
Эти же линии .csproj, кажется, используются в новом проекте VS2013, поэтому я не уверен, как это можно было бы корректно разрешить на машине сборки.