2014-11-13 1 views
0

Я создал PROJ файл MSBuild, который содержит следующий заголовок:VisualStudioVersion = «VersionLatest» не подхватили

<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="12.0" TargetFrameworkVersion="4.5" VisualStudioVersion="VersionLatest"> 

Этот файл проектируемый используется для запуска MSBuild по ряду SSDT проектов, пары с развертыванием.

Для большинства разработчиков это нормально. Однако при попытке запустить сборку один из разработчиков встречает исключение Deploy72002. В соответствии с ответом this это связано с тем, что VisualStudioVersion не установлен. Разумеется, добавление

set VisualStudioVersion="12.0" 

в пакетном файле до вызова MSBuild устраняет проблему.

Однако, я был под впечатлением (я не могу найти источник сейчас), что настройка VisualStudioVersion="VersionLatest" в xml файла proj была достаточной, чтобы использовать самую высокую версию VS. Я даже попытался установить его с VersionLatest на 12.0, а также переместить его из корневого узла в собственный узел в <PropertyGroup>.

Я бы предпочел не иметь жесткой ссылки на 12.0 в пакетном файле. Я пропустил что-то очевидное, чтобы заставить VersionLatest работать?

+0

«VersionLatest» просто закодирован до 12.0 прямо сейчас в Microsoft.Build.Utilities.v12.0.dll. Следующая версия VS, вероятно, будет иметь еще одну версию MSBuild, которая, вероятно, собирается скорректировать ее на несчастливое число. Или он останется 12.0, потому что вы просите ToolsVersion 12.0 :) Не делайте ничего решительного, пока у вас нет этой версии и не знаете, что она делает. –

+0

Даже если он жестко закодирован до 12 в системе, почему он не извлекается из файла .proj для этого одного разработчика? –

ответ

0

Попробуйте это: запустите MsBuild с параметром командной строки для создания предварительно обработанного отдельного файла. Сделайте то же самое на рабочем компьютере с той же версией. Разверните файлы.

Возможно, что-то другое для некоторых файлов .props или .targets. Они, как известно, изменяются из-за установки или обновления того или другого. Я помню, что после статьи msdn исправил такой файл, когда искал проблему.

Смежные вопросы