Недавно мы обновили приложение VS 2010 и .NET 4 до VS 2012 и .NET 4.5. У нас есть сборка script для развертывания приложения на тестовом сервере. У нас есть две коробки: одна - Windows 8 с VS 2012 (новая версия), а другая - Windows 7 с VS 2010 и VS 2012 (установлена недавно).
При запуске сборки script из окна Windows 8 сборка script работает хорошо и развертывает приложение для тестирования сервера. Но при развертывании приложения из окна Windows 7 появляется следующая ошибка:
"C:\Achinth\Build\Work\build\qa1sb.proj" (цель DeployAll) (1) → "C:\Achinth\Build\Work\App\App.csproj" (ResolveReferences; MsDeployPublish target) (2) → (MSDeployPublish target) → C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.targets(3847,5): ошибка: задача веб-развертывания ((8/19/2012 6:23:41 PM) Произошла ошибка при обработке запроса на удаленном компьютере.) [C:\Achinth\Build\Work\App\App.csproj] C:\Program Файлы (x86)\MSBuild\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.targets(3847,5): ошибка:\r [C:\Achinth\Build\Work\App\App.csproj] C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.targets(3847,5): error: (8/19/2012 6:23:41 PM) ошибка произошла, когда запрос был обработан на удаленном компьютере. \r [C:\Achinth\Build\Work\App\App.csproj] C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.targets(3847,5): ошибка: приложение po ol, который вы пытаетесь использовать, имеет свойство "managedRuntimeVersion", равное "v4.0". Для этого приложения требуется "v4.5". [C:\Achinth\Постройте\Work\App\App.csproj]
Глядя на ошибку, похоже, что MSBuild использует VS 2010 цели вместо VS 2012, что вызывает ошибку. Поскольку в окне Windows 8 нет VS 2010, он правильно использует VS 2012 цели.
Может ли кто-нибудь указать указатели на то, как заставить MSBuild выбрать правильную версию?