2016-07-04 3 views
6

Я начал получать следующую ошибку при попытке запустить MSBuild через пакетный файл на моей машине.Ошибка при запуске MSBuild

C: \ Program Files (x86) \ MSBuild \ Microsoft \ VisualStudio \ v14.0 \ AppxPackage \ Microsoft.AppXPackage.Targets (283,22): Ошибка MSB4086: Числовое сравнение покушений на «10.0. 11000.0 ", который оценивается как" 10.0.11000.0 "вместо числа, в Условие" '$ (TargetPlatformVersion)'> = '10 .0.11000.0 '". [MyProject.csproj]

Это происходит в нескольких различных проектах в рамках решения.

В настоящее время я использую VS2015 (обновление 3). Я обновился с обновления 2 в пятницу. Поэтому вполне возможно, что это может быть связано.

Основано на различных сообщениях в сети (например, this), похоже, что это было (в какой-то момент, по крайней мере, в прошлом), вызванное Resharper. Тем не менее, я обновил Resharper до последней версии и запустил ремонт по установке, но безрезультатно. Я даже попытался приостановить его в Visual Studio.

Я также попытался отремонтировать установку VS215. Но я все еще получаю ошибку.

Как решить эту ошибку?

Update

Так Когда я запускаю этот пакетный файл, он работает с помощью VisualStudioVersion=12.0. Это, похоже, является частью проблемы. Когда я набираю его на 12.0, сборка отлично работает.

Проверка в целевых файлов Thats метания исключение, вы можете увидеть это в строке 283:

<PropertyGroup> 
    <SdkIsRS1OrLater>False</SdkIsRS1OrLater> 
    <SdkIsRS1OrLater 
    Condition="'$(TargetPlatformVersion)' &gt;= '10.0.11000.0'">True</SdkIsRS1OrLater> 
</PropertyGroup> 

Так что я не совсем уверен, почему это так, но это, кажется, проблема в файл целей из MS?

+0

Я создал проблему в Microsoft Connect: https://connect.microsoft.com/VisualStudio/Feedback/Details/2891723 –

+0

То же самое здесь. Upd3 не работает. VS компилирует без каких-либо проблем. – Grigory

+0

Я не могу получить по этой ссылке на подключение по какой-либо причине. Вы случайно не получили новую информацию об этом? Я тоже застрял на нем. :( – Michael

ответ

3

Попробуйте установить путь и переменные окружения, используя пакетный файл поставляется с VS2015 вместо установки пути MSBuild и «VisualStudioVersion» вручную, чтобы сделать это добавить следующие строки в пакетном файле:

call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" 

I» m не уверен, что является основной причиной, я подозреваю несоответствие версий MSBuild и целевых файлов.

См. https://msdn.microsoft.com/en-us/library/f2ccy3wt.aspx для получения дополнительной информации о файле партии выше.

+2

Я фактически использовал 'C: \ Program Files (x86) \ Microsoft Visual Studio 14.0 \ Common7 \ Tools \ VsDevCmd.bat' вместо этого - VcVarsall присутствует только в том случае, если вы устанавливаете C++ VsDevCmd - командный файл, используемый для настройки командной строки dev. –

0

Да, я подозреваю то же самое - кажется, что кто-то заменил и положил знак &gt; вместо >. я нашел 3 записи из &gt; в этом файле в тех местах, где он логически должен быть > PS: Это не ответ, комментарии не поддерживают CHARS скрининг

италийских выше текст был немного слишком быстро, я подумал, что я поймал проблему с курящим пистолетом, но перепроверив код внутри этого файла .targets, показывает, что &gt; правильно используется в состоянии - нужно кодировать эти знаки согласно MSBuild Conditions, хотя до сих пор неясно, почему это пытаясь сравнить строки с '> ='. Использование в других 2 случаях имеет меньшее значение. В любом случае, я подозреваю, что вы правы, и это проблема с конкретным файлом целей.

1

Я получал ту же ошибку, когда мы сделали сборку в Teamcity. Я получил его работу после изменения конфигурации шага сборки teamcity, чтобы использовать MSBuild Tools 2015 для версии MSBuild и 14.0 в качестве версии инструментов MSBuild. enter image description here

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