У меня есть агент сборки TFS 2008, который использовался для сборки приложений .Net 3.5. Теперь у меня есть приложение .Net 4.0, которое я хочу скомпилировать на том же агенте сборки. Я гарантировал, что MSBuild 4.0 установлен там, и все необходимые компоненты также установлены, но я получаю следующую ошибку MSB4062
при сборке:
[Любой процессор / выпуск] C: \ Program Files \ MSBuild \ Microsoft \ VisualStudio \ v10.0 \ WebApplications \ Microsoft.WebApplication.targets (244,5): ошибка MSB4062: «Microsoft.WebApplication.Build.Tasks» Не удалось загрузить задачу «GetSilverlightItemsFromProperty» из сборки C: \ Program Files \ MSBuild \ Microsoft \ VisualStudio \ v10.0 \ WebApplications \ Microsoft.WebApplication.Build.Tasks.dll. Не удалось загрузить файл или сборку 'file: /// C: \ Program Files \ MSBuild \ Microsoft \ VisualStudio \ v10.0 \ WebApplications \ Microsoft.WebApplication.Build.Tasks.dll' или одну из ее зависимостей. Эта сборка создается средой выполнения, более новой, чем текущая загруженная среда, и не может быть загружена. Убедитесь, что объявление правильное и что сборка и все ее зависимости доступны.
Я предполагаю, что получаю это, потому что TFSBuild.proj выполняется MSBuild 3.5, что, в свою очередь, означает, что мое решение скомпилировано с MSBuild 3.5.
Верен ли мой диагноз? Есть ли способ убедиться, что TFS2008 использует MSBuild 4.0 для моего решения? Можно ли это сделать для одного командного проекта, чтобы он не влиял на другие командные проекты, созданные на одном и том же агенте сборки?
Обратите внимание, что я проверил вопрос Ошибка сборки - решение VS2010 на TFS2008 , и это не дубликат.