Что такое BuildTools_MSBuild.msi и как это исправить?
BuildTools_MSBuild.msi проблемы часто являются результатом отсутствия, удаления или случайного перемещения файла из исходного места установки MSDN Disc 5267. Возникновение подобных проблем является раздражающим фактором, однако их легко устранить, заменив файл MSI, из-за которого возникает проблема. В некоторых случаях реестр Windows пытается загрузить файл BuildTools_MSBuild.msi, который больше не существует; в таких ситуациях рекомендуется запустить сканирование реестра, чтобы исправить любые недопустимые ссылки на пути к файлам.
В таблице ниже представлен список доступных для загрузки файлов BuildTools_MSBuild.msi, подходящих для большинства версий Windows (включая %%os%%). В нашей базе представлены не все версии BuildTools_MSBuild.msi, поэтому нажмите на кнопку Request (Запрос), чтобы наши сотрудники её получили. Если ниже отсутствует необходимая версия файла, мы рекомендуем вам связаться непосредственно с Microsoft.
Несмотря на то, что в большинстве случаев после размещения файла BuildTools_MSBuild.msi в надлежащем месте на жёстком диске, сообщения об ошибках, связанных с этим файлом, больше не выводятся, следует выполнить быструю проверку, чтобы окончательно в этом убедиться. Попробуйте повторно запустить MSDN Disc 5267, чтобы проверить, появляется ли сообщение об ошибке.
Расширение: | MSI |
Функция: | MSDN Library |
Новейшие программы: | MSDN Disc 5267 |
Версия выпуска: | January 2014 |
Компания: | Microsoft |
File: | BuildTools_MSBuild.msi ac44b78732237a46d85613644469a649fd8e0d45 |
MD5: | 8773a0bd587aefca7923f930acbe9811 |
CRC32: | 16804410 |
Источник: www.solvusoft.com
Как указать платформу для MSBuild?
Я пытаюсь использовать MSBuild для создания решения с указанной целевой платформой (мне нужны двоичные файлы, x86 и x64). Вот как я попробовал:
C:WINDOWSMicrosoft.NETFrameworkv3.5>MsBuild SolutionPathSolution.sln /t:Rebuild /p:Configuration=Release /p:Platform=»x86″
однако сборка всегда терпит неудачу, если платформа отличается от»любого процессора». Что я делаю не так?
это в то время как вывод MSBuild печатает:
C:WINDOWSMicrosoft.NETFrameworkv3.5>MsBuild РешениеSolutionPath.sln/t: перестроить /p: конфигурация=выпуск / p_Platform= » x86″ Сборка Microsoft (R) Версия Двигателя 3.5.30729.1 [Microsoft .NET Framework, версия 2.0.50727.3082] Copyright (C) Microsoft Corporation 2007. Все права зарезервированный.
сборка началась 1.7.2010 8:28: 10. Проект » Путь РешенияРешение.sln » on узел 0 (перестроить targe t (s)).
РешениеSolutionPath.СЛН : ошибка MSB4126: указанное значение sol конфигурация «Release / x86» недействительный. Пожалуйста, укажите действительный решение c onfiguration с помощью Конфигурация и платформа свойства (например, MSBuild.решение ехе.ФСЛ /п:настройки=отладка / p_Platform= «Any CPU») или оставить их prope rties пустой для использования по умолчанию конфигурация решения.
Сделать Дом Проект » Путь РешенияРешение.ФСЛ» (Rebuild t arget (s)) — FAILED.
ошибка сборки.
«РешениеSolutionPath.sln » (Rebuild цели) (1) -> (Цель ValidateSolutionConfiguration) — >Путь РешенияРешение.sln: ошибка MSB4126: указанное значение конфигурация «Release / x86» недействительный. Пожалуйста, укажите действительный конфигурация решения с использованием Конфигурация и свойства платформы (например, MSBuild.ex e решение.ФСЛ /п:настройки=отладка / p_Platform= «Any CPU») или оставить их pro perties blank для использования по умолчанию конфигурация решения.
0 Warning(s) 1 Error(s)
Время Истекло 00: 00: 00.03
Если я попытаюсь построить его для x86 / x64 с devenv, он отлично работает, однако я пытаюсь настроить сервер сборки без установки всех необходимых версий Visual Studio. Кстати, если есть лучший бесплатный инструмент (который поддерживает .NET framework 4), я хотел бы услышать об этом.
автор: Peter Mortensen
3 ответов
если вы хотите построить решение для x86 и х64 ваше решение должно быть настроено для обеих платформ. На самом деле у вас просто есть любой ЦП конфигурации.
Как проверить доступную конфигурацию для проекта
чтобы проверить доступную конфигурацию для данного проекта, откройте файл проекта ( *.csproj например) и искать PropertyGroup право Condition .
если вы хотите построить в Release режим x86 , у вас должно быть что-то вроде этого в файле проекта:
как создать и изменить конфигурацию в Visual Studio
автор: Julien Hoarau
в MSBuild или Teamcity используйте командную строку
MSBuild yourproject.sln /property:Configuration=Release /property:Platform=x64
или используйте более короткую форму:
MSBuild yourproject.sln /p:Configuration=Release /p:Platform=x64
однако вам все равно нужно настроить платформу в своем проекте, см. ответ Жюльена Хоарау.
автор: qub1n
Если вы пытаетесь сделать это из командной строки, вы можете столкнуться с проблемой, когда машинная переменная среды «платформа» устанавливается для вас и работает против вас. Я могу воспроизвести это, если я использую командное окно VS2012 вместо обычного командного окна windows.
в командной строке введите:
в окне команды VS2012 у меня есть значение предустановки «X64». Это, кажется, мешает что бы ни было в моем файле решения.
в обычном командном окне команда » set «приводит к сообщению» переменная не определена». это хорошо.
Если результат вашей команды » set » выше не возвращает значения переменной среды, вам должно быть хорошо идти.
Источник: askdev.ru
Как указать платформу для MSBuild?
Я пытаюсь использовать MSBuild для создания решения с указанной целевой платформой (мне нужны двоичные файлы, x86 и x64). Вот как я это пробовал:
C:WINDOWSMicrosoft.NETFrameworkv3.5>MsBuild SolutionPathSolution.sln /t:Rebuild /p:Configuration=Release /p:Platform=»x86″
Однако сборка всегда завершается ошибкой, если платформа отличается от «Any CPU». Что я делаю неправильно?
Это то, что выводит MSBuild:
C: WINDOWS Microsoft.NET Framework v3.5> MsBuild SolutionPath Solution.sln / t: Rebuild / p: Configuration = Release / p: Platform = «x86» Microsoft (R) Build Engine Version 3.5.30729.1 [ Microsoft .NET Framework, версия 2.0.50727.3082] Авторские права (C) Microsoft Corporation 2007. Все права защищены.
Сборка началась 1.7.2010 8:28:10. Проект «SolutionPath Solution.sln» на узле 0 (перестроить цели t (s)). SolutionPath Solution.sln: ошибка MSB4126: указанная конфигурация решения «Release | x86» недействительна.
Укажите допустимую конфигурацию решения, используя свойства Configuration и Platform (например, MSBuild.exe Solution.sln / p: Configuration = Debug / p: Platform = «Any CPU»), или оставьте эти свойства пустыми, чтобы использовать конфигурацию решения по умолчанию. Готово Строительный проект «Путь решения Solution.sln» (объект (ы) восстановления) — НЕ ПРОЙДЕН.
Сборка НЕ выполнена.
SolutionPath Solution.sln (Rebuild target) (1) -> (ValidateSolutionConfiguration target) -> SolutionPath Solution.sln: error MSB4126: Указанная конфигурация решения «Release | x86» недействительна. Укажите допустимую конфигурацию решения в свойствах Configuration и Platform (например, MSBuild.ex e Solution.sln / p: Configuration = Debug / p: Platform = «Any CPU») или оставьте эти свойства пустыми, чтобы использовать конфигурацию решения по умолчанию.
0 Warning(s) 1 Error(s)
Истекшее время 00: 00: 00.03
Если я попытаюсь собрать его для x86 / x64 с помощью devenv, он будет работать отлично, однако я пытаюсь настроить сервер сборки, не устанавливая все необходимые версии Visual Studio. Кстати, если есть лучший бесплатный инструмент (который поддерживает .NET framework 4), я бы хотел услышать об этом.
задан 01 июля ’10, 03:07
Источник: stackovergo.com
Путь к MSBuild
Как программно получить путь к MSBuild с компьютера, на котором запущен мой .exe?
Я могу получить версию .NET из среды, но есть ли способ получить правильную папку для версии .NET?
Ковыряясь в реестре, похоже
HKEY_LOCAL_MACHINESOFTWAREMicrosoftMSBuildToolsVersions2.0 HKEY_LOCAL_MACHINESOFTWAREMicrosoftMSBuildToolsVersions3.5 HKEY_LOCAL_MACHINESOFTWAREMicrosoftMSBuildToolsVersions4.0
может быть то, что вы после; запустите regedit.exe и посмотрите.
Запрос через командную строку (по Николаю Ботеву )
reg.exe query «HKLMSOFTWAREMicrosoftMSBuildToolsVersions4.0» /v MSBuildToolsPath
Запрос через PowerShell (за MovGP0 )
dir HKLM:SOFTWAREMicrosoftMSBuildToolsVersions
Я установил Visual Studio 2017 RC и запустил командную строку разработчика, версия MSBuild — 15. +, но эта версия не отображается в реестре. Как получить доступ к той же MSBuild, что и в Dev Cmd Prompt?
MSBuild 15 находится по адресу `C: Program Files (x86) Microsoft Visual Studio 2017 Enterprise MSBuild 15.0 Bin amd64`
Только если вы установили VS2017 там, я не смог найти ни одной точки входа в реестре для MsBuildToolsPath для набора инструментов 15.0
docs.microsoft.com/en-us/visualstudio/msbuild/… «MSBuild теперь установлен в папке под каждой версией Visual Studio. Например, C: Program Files (x86) Microsoft Visual Studio 2017 Enterprise MSBuild «и» Значения ToolsVersion больше не устанавливаются в реестре «
Вы также можете распечатать путь MSBuild.exe в командной строке:
reg.exe query «HKLMSOFTWAREMicrosoftMSBuildToolsVersions4.0» /v MSBuildToolsPath
Обратите внимание, что если вы хотите создать приложение для Windows Phone, для этого требуется 32-битная версия msbuild. Запрос к реестру дает только 64-битную версию msbuild на 64-битной машине.
это даст вам путь к старому (4.0) местоположению — то, что вы, вероятно, хотите, действительно находится в другом месте, см. stackoverflow.com/questions/32007871/…
В моем случае это было под ComputerHKEY_LOCAL_MACHINESOFTWAREWOW6432NodeMicrosoftMSBuildToolsVersions4.0MSBuildToolsPath
Если вы хотите использовать MSBuild для .Net 4, вы можете использовать следующую команду PowerShell, чтобы получить путь к исполняемому файлу. Если вы хотите версию 2.0 или 3.5, просто измените переменную $ dotNetVersion.
Для запуска исполняемого файла вам необходимо добавить переменную $ msbuild с 4.0″ $regKey = «HKLM:softwareMicrosoftMSBuildToolsVersions$dotNetVersion» $regProperty = «MSBuildToolsPath» $msbuildExe = join-path -path (Get-ItemProperty $regKey).$regProperty -childpath «msbuild.exe» goto :eof if not exist «%msbuild.exe%» echo error: %msbuild.exe%: not found C:Program Files (x86)MSBuild*Binamd64MSBuild.exe» Resolve-Path «C:Program Files (x86)MSBuild*BinMSBuild.exe»
Вывод
Path —- C:Program Files (x86)MSBuild12.0Binamd64MSBuild.exe C:Program Files (x86)MSBuild14.0Binamd64MSBuild.exe C:Program Files (x86)MSBuild12.0BinMSBuild.exe C:Program Files (x86)MSBuild14.0BinMSBuild.exe
Источник: qastack.ru