MSBuild что это за программа
Знаете программу MSBuild? Нет? Так не спешите, принявшись за очистку компьютера, вовсе удалять MSBuild, поскольку можете нажить тем самым ненужных проблем. В сети информация на счёт того, что это такое MSBuild довольно разрозненная, в виде либо кратких хаотичных разговоров на форумах, либо тяжеловесных для восприятия статей, написанных программистами для программистов. Поэтому я и решил попробовать написать, что это за приложение MSBuild, вкратце описав механику процесса, объяснить, для каких целей оно используется.
Что такое MSBuild
Итак, немного истории, плавно перетекающей в наши дни. Для реализации сборки небольших проектов существует компилятор командной строки и пакетного файла, который содержит вызов. В том случае, если проект возрастает, необходимой становится программа MSBuild, которая будет отслеживать версии файлов и компилировать модули. Изначально это была программа make, появившаяся еще в Unix и постепенно перешедшая на другие платформы. Его работа устроена таким образом: он считывает файл, в котором заключено описание зависимостей между исходными и целевыми файлами, затем сравнивает их версии и автоматически решает, требуется ли пересоздать целевые файлы.
Попробую подробно объяснить, что это за программа MSBuild. Идея была крайне простой, а вот формат этого самого make-файла очевиден не был. В течение долгого времени появилось множество разновидностей данной утилиты, каждая из которых обладала своим синтаксисом. Другой проблемой являлся расчёт на пакетную работу в режиме командной строки. Время шло, технологии, и прогресс не стояли на месте: появлялись различные визуальные интегрированные среды разработки (например, IDE), —стало очевидным несоответствие make современным требованиям. Тогда в 2002 появился VS 2002, где и от создания make-файлов отступились совсем, из-за чего стало невозможна компиляция проектов в режиме командной строки.
В дальнейшем Java-программистами, работающими в конкуренции с windows-программистами, была создана любопытная программа —Ant. От make его отличала отсутствие завязки на команды операционной системы: вместо команд ОС процесс происходил посредством внутренних команд Ant, которые проецировались на Java-классы.
Благодаря своей простоте и малому количеству ошибок эта программа Ant вскоре стала самым популярным подобным решением. А для разработки высокопроизводительных приложений был создан Msxml 4.0.
Вас интересует, каким образом всё это вообще относится к Microsoft? Самым что ни на есть непосредственным: именно прототипом Ant является программа MSBuild.
От теории к практике: немного примеров, иллюстрирующих необходимость MSBuild
Ясно, что эта программа MSBuild не является необходимым элементом для функционирования операционной системы, однако её удаление повлияет на работу огромного числа программ, завязанных на взаимодействие с ним. Среди них, например, Microsoft Office, используемый практически каждым из нас.
Если удалить MSBuild, многие интернет браузеры также элементарно перестанут запускаться. А если удалить ATK Package не будет работать 3d графика.
Надеюсь, что в данной статье мне удалось пролить немного света на ситуацию с описываемой программой MSBuild, отговорив вас, если вы имели таковое желание, удалять ее.
MSBuild что это за программа и нужна ли она?
Если вы думаете как удалить MSBuild, то я этого не советую делать, а то могут возникнуть разные глюки через некоторое время. Могу дать совет — переименуйте папку например в …MSBuild_, поработайте пару дней за компом, если нет глюков можете удалить
Особого смысла писать подробно о том что за программа MSBuild нет, так как вряд ли вам будет интересно, это для программистов. Ну что интересно? Окей, тогда немного напишу. Вот смотрите, MSBuild запускается из командной строки таким образом — файл проекта передается модулю MSBuild.exe с определенными аргументами. В результате при помощи аргументов указываются свойства, задаются обьекты и средства для ведения журнала. Также этот модуль будет полезен для отображения в командной строке ошибок, предупреждений, сообщений.
Разработка приложения в проекте MSBuild при использовании среды разработки Visual Studio 2005:
Итак, какой можем сделать вывод о программе MSBuild?
Скорее всего папку вы нашли в \Program Files, но вот какая штука, в эту папку, пользуясь тем что это системный компонент, может также поселится и вирус. Но если вдруг подозреваете, что это вирус… то тут лучше сразу проверить компьютер онлайн сканером, если будут вирусы, то он их найдет и после проверки вы их сможете удалить.
Как видите, интересного мало, это системная программа и папку ее как бы не желательно удалять, тем более что если она просто простаивает — то она никому не мешает и не нагружает процессор вообще никак.
Так вот, по поводу вирусов, если думаете что они поселились на компе — то нет вопросов, проверьте сперва инструментом AdwCleaner, а потом пройдитесь сканером Eset, я о нем писал тут (во второй половине статьи!).
Что такое msbuild.exe? Это безопасно или вирус? Как удалить или исправить это
Что такое msbuild.exe?
msbuild.exe это исполняемый файл, который является частью Windows 8 Consumer Preview ISO-образы разработанный Microsoft, Версия программного обеспечения для Windows: 1.0.0.0 обычно 84744 в байтах, но у вас может отличаться версия.
Msbuild.exe безопасный или это вирус или вредоносная программа?
Первое, что поможет вам определить, является ли тот или иной файл законным процессом Windows или вирусом, это местоположение самого исполняемого файла. Например, для msbuild.exe его путь будет примерно таким: C: \ Program Files \ Microsoft \ Windows 8 Consumer Preview ISO images \ msbuild.exe
Если статус процесса «Проверенная подписывающая сторона» указан как «Невозможно проверить», вам следует взглянуть на процесс. Не все хорошие процессы Windows имеют метку проверенной подписи, но ни один из плохих.
Самые важные факты о msbuild.exe:
Если у вас возникли какие-либо трудности с этим исполняемым файлом, вы должны определить, заслуживает ли он доверия, перед удалением msbuild.exe. Для этого найдите этот процесс в диспетчере задач.
Найти его местоположение и сравнить размер и т. Д. С приведенными выше фактами
Если вы подозреваете, что можете быть заражены вирусом, вы должны немедленно попытаться это исправить. Чтобы удалить вирус msbuild.exe, необходимо скачайте и установите приложение полной безопасности, как это, Обратите внимание, что не все инструменты могут обнаружить все типы вредоносных программ, поэтому вам может потребоваться попробовать несколько вариантов, прежде чем вы добьетесь успеха.
Могу ли я удалить или удалить msbuild.exe?
Не следует удалять безопасный исполняемый файл без уважительной причины, так как это может повлиять на производительность любых связанных программ, использующих этот файл. Не забывайте регулярно обновлять программное обеспечение и программы, чтобы избежать будущих проблем, вызванных поврежденными файлами. Что касается проблем с функциональностью программного обеспечения, проверяйте обновления драйверов и программного обеспечения чаще, чтобы избежать или вообще не возникало таких проблем.
Однако, если это не вирус, и вам нужно удалить msbuild.exe, вы можете удалить образы Windows 8 Consumer Preview ISO с вашего компьютера с помощью программы удаления. Если вы не можете найти его деинсталлятор, вам может потребоваться удалить ISO-образы Windows 8 Consumer Preview, чтобы полностью удалить msbuild.exe. Вы можете использовать функцию «Установка и удаление программ» на панели управления Windows.
Распространенные сообщения об ошибках в msbuild.exe
Наиболее распространенные ошибки msbuild.exe, которые могут возникнуть:
• «Ошибка приложения msbuild.exe».
• «Ошибка msbuild.exe».
• «msbuild.exe столкнулся с проблемой и должен быть закрыт. Приносим извинения за неудобства.»
• «msbuild.exe не является допустимым приложением Win32».
• «msbuild.exe не запущен».
• «msbuild.exe не найден».
• «Не удается найти msbuild.exe».
• «Ошибка запуска программы: msbuild.exe».
• «Неверный путь к приложению: msbuild.exe».
Как исправить msbuild.exe
Если у вас возникла более серьезная проблема, постарайтесь запомнить последнее, что вы сделали, или последнее, что вы установили перед проблемой. Использовать resmon Команда для определения процессов, вызывающих вашу проблему. Даже в случае серьезных проблем вместо переустановки Windows вы должны попытаться восстановить вашу установку или, в случае Windows 8, выполнив команду DISM.exe / Online / Очистка-изображение / Восстановить здоровье, Это позволяет восстановить операционную систему без потери данных.
Чтобы помочь вам проанализировать процесс msbuild.exe на вашем компьютере, вам могут пригодиться следующие программы: Менеджер задач безопасности отображает все запущенные задачи Windows, включая встроенные скрытые процессы, такие как мониторинг клавиатуры и браузера или записи автозапуска. Единый рейтинг риска безопасности указывает на вероятность того, что это шпионское ПО, вредоносное ПО или потенциальный троянский конь. Это антивирус обнаруживает и удаляет со своего жесткого диска шпионское и рекламное ПО, трояны, кейлоггеры, вредоносное ПО и трекеры.
Обновлен декабрь 2021:
Мы рекомендуем вам попробовать этот новый инструмент. Он исправляет множество компьютерных ошибок, а также защищает от таких вещей, как потеря файлов, вредоносное ПО, сбои оборудования и оптимизирует ваш компьютер для максимальной производительности. Это исправило наш компьютер быстрее, чем делать это вручную:
Загрузите или переустановите msbuild.exe
Вход в музей Мадам Тюссо не рекомендуется загружать файлы замены exe с любых сайтов загрузки, так как они могут содержать вирусы и т. д. Если вам нужно скачать или переустановить msbuild.exe, мы рекомендуем переустановить основное приложение, связанное с ним Windows 8 Consumer Preview ISO-образы.
Информация об операционной системе
Ошибки msbuild.exe могут появляться в любых из нижеперечисленных операционных систем Microsoft Windows:
Расширение процесса сборки с помощью MSBuild
MSBuild устроен таким образом, что сборка проекта разбита на несколько этапов.
Target — это некоторый этап (событие), происходящее во время сборки проекта. Можно использовать стандартные таргеты, либо определять собственные.
Task — это некоторая задача, которая может выполняться на определенном этапе. Можно использовать стандартные таски или создавать собственные.
Targets group tasks together in a particular order and allow the build process to be factored into smaller units.
For example, one target may delete all files in the output directory to prepare for the build, while another
compiles the inputs for the project and places them in the empty directory.
Жизненный цикл сборки MSBuild (Меню)
Для работы MSBuild Microsoft определил ряд стандартных таргетов (в файлах Microsoft.Common.targets, Microsoft.CSharp.targets и т.д.). Определено огромное множество различных таргетов, но в данной статье мы не будем на этом подробно останавливаться. Некоторые стандартные таргеты (упорядочены):
Таргеты BeforeBuild и AfterBuild специально созданы для переопределения и их можно использовать. Остальные таргеты из списка не рекомендую использовать, чтобы ничего не сломалось.
Подготовка окружения для примеров (Меню)
Для примеров необходимо:
Результат будет выводиться в окно Output в Visual Studio (внизу). Если его нет, то откройте его через пункты меню View => Output.
Таргеты в MSBuild (Меню)
Для примеров будем использовать таск Message, который будет выводить информацию в окно Output в Visual Studio. Как говорилось ранее есть стандартные таргеты BeforeBuild и AfterBuild, воспользуемся ими. Про подготовку читать в разделе Подготовка окружения для примеров.
Результат выполнения (лишнее исключено):
Как видно, был выполнен task Message, который вывел указанный нами текст в момент BeforeBuild и AfterBuild в окно Output в Visual Studio.
При определении таргета с одним и тем же именем он перезаписывается!
Результат выполнения (лишнее исключено):
Создание собственного таргета MSBuild (Меню)
Если таргетов BeforeBuild и AfterBuild недостаточно или нужно, чтобы таски выполнялись на другом этапе жизненного цикла сборки, то можно определить собственный таргет. Для этих целей есть параметры BeforeTargets и AfterTargets.
Результат выполнения (лишнее исключено):
…
MyCustomBeforeTarget event
BeforeBuild event
MyCustomAfterTarget event
…
Было определено два собственных таргета — MyCustomBeforeTarget и MyCustomAfterTarget.
Таргет MyCustomBeforeTarget выполняется до таргета BeforeBuild, потому что мы указали:
Таргет MyCustomAfterTarget выполняется после таргета BeforeBuild, потому что мы указали:
Таски в MSBuild (Меню)
В данной статье не рассматривается как можно писать собственные таски, но прежде чем писать таск, ознакомьтесь со списком тасков, предоставляемых Microsoft.
Рассмотрим несколько примеров использования тасков и макросов.
A Boolean expression that the MSBuild engine uses to determine whether this task will be executed.
Если будет выбрана solution конфигурация Debug, то результат будет выглядеть так (лишнее исключено):
В примере выше у нас есть текст, который можно унифицировать. Чтобы исключить дублирование вынесем в отдельную переменную текст сообщения.
Для определения собственной переменной используется элемент PropertyGroup.
В данном примере сделаем таск, который проверяет создан ли файл App.Debug.config. Если он не создан, то выдаем ошибку. В случае ошибки билд будет остановлен и ошибка будет отображена как ошибки компиляции в окне Error List.
Используем для этого таск Error и уже знакомый нам параметр Condition.
Результат:
В данном примере будем использовать таск Copy. С помощью таска скопируем файл App.config в папку bin/[Configuration]/Config в два файла App.config и App.test.config.
Свойство SourceFiles — массив файлов, которые необходимо скачать. Указывать без кавычек, через точку с запятой.
Свойство DestinationFiles — массив файлов куда будут копироваться файлы. Указывать без кавычек, через точку с запятой.
MSBuild
Microsoft Build Engine представляет собой платформу для сборки приложений. Компонент MSBuild обеспечивает для файла проекта схему XML, определяющую способы, используемые платформой сборки для обработки и сборки приложений. Visual Studio использует MSBuild, но MSBuild не зависит от Visual Studio. Вызывая msbuild.exe для файла проекта или решения, можно контролировать и создавать в продукты в средах без установленного экземпляра Visual Studio.
Visual Studio использует MSBuild для загрузки и сборки управляемых проектов. Файлы проектов в Visual Studio (с расширением CSPROJ, VBPROJ, VCXPROJ) содержат код XML MSBuild, который выполняется при создании проекта с помощью интегрированной среды разработки. Проекты Visual Studio импортируют все необходимые параметры и процессы сборки для выполнения стандартной работы по разработке, но их можно расширять и изменять в Visual Studio или в редакторе XML.
Начиная с Visual Studio 2022, при выполнении сборки в Visual Studio используется 64-разрядная версия MSBuild.
Сведения об MSBuild для C++ см. в разделе MSBuild (C++).
В следующих примерах показаны случаи, когда сборки можно запускать с помощью вызова MSBuild из командной строки, а не интегрированной среды разработки Visual Studio.
Вам требуется 64-разрядная версия MSBuild, но вы используете Visual Studio 2019 или более ранней версии. Эта версия MSBuild обычно не нужна, но она позволяет MSBuild обращаться к большему объему памяти.
Сборку требуется выполнять в нескольких процессах. Однако можно использовать интегрированную среду разработки, чтобы добиться того же результата для проектов на C++ и C#.
Требуется изменить систему сборки. Например, может потребоваться выполнить следующие действия:
предварительная обработка файлов перед их компиляцией;
копирование выходных данных сборки в другое место;
создание сжатых файлов из выходных данных сборки;
пост-обработка. Например, может потребоваться присвоить сборке другой номер версии.
С помощью Azure Pipelines можно автоматически компилировать, тестировать и развертывать приложение. Система сборки может автоматически запускать сборку, когда разработчики возвращают код (например, как часть стратегии непрерывной интеграции) или по расписанию (например, выполнять ежедневную ночную тестовую сборку). Azure Pipelines компилирует код с использованием MSBuild. Дополнительные сведения см. в описании Azure Pipelines.
В статье представлен обзор MSBuild. Вводную информацию см. в статье Пошаговое руководство. Использование MSBuild.
Использование MSBuild в командной строке
Дополнительные сведения о параметрах командной строки MSBuild см. в статье Справочник по командной строке MSBuild.
Перед загрузкой проекта определите, можно ли доверять коду.
Файл проекта
MSBuild использует открытый и расширяемый формат файлов проекта на базе XML. Формат файла проекта MSBuild позволяет разработчикам описывать создаваемые элементы, а также способы их построения для разных операционных систем и конфигураций. Кроме того, формат файла проекта позволяет разработчикам создавать многократно используемые правила сборки, которые можно разложить на отдельные файлы, чтобы сборки могли выполняться единообразно в различных проектах в составе соответствующего продукта.
В следующих разделах описаны некоторые из базовых элементов формата файла проекта MSBuild. См. дополнительные сведения о создании базового файла проекта MSBuild с нуля.
Свойства
Дополнительные сведения о свойствах см. в разделе Свойства MSBuild.
Элементы
Элементы — это входные данные для системы сборки, как правило, представляющие файлы. Элементы группируются в типы на основе определяемых пользователем имен элементов. Эти типы элементов можно использовать в качестве параметров для задач, в которых с помощью отдельных элементов выполняются этапы процесса построения.
При объявлении элементов можно использовать подстановочные знаки; элементы могут содержать дополнительные метаданные для расширенных сценариев построения. Дополнительные сведения об элементах см. в разделе Элементы.
Задачи
Задачи — это блоки исполняемого кода, с помощью которых в проектах MSBuild выполняются операции построения. Например, в задаче может выполняться компиляция входных файлов или запускаться внешняя программа. Созданные задачи могут использоваться совместно и многократно разными разработчиками в различных проектах.
Алгоритм выполнения задачи записан в управляемом коде и сопоставлен с MSBuild с помощью элемента UsingTask. Для создания собственной задачи можно разработать управляемый тип, реализующий интерфейс ITask. Дополнительные сведения о способах создания задач см. в руководстве по написанию задач.
MSBuild включает стандартные задачи, которые можно изменять в соответствии с требованиями. Примеры: Copy — копирование файлов, MakeDir — создание каталогов, Csc — компиляция файлов исходного кода Visual C#. Список доступных задач и сведения об их использовании см. в справочнике по задачам.
Дополнительные сведения о задачах см. в разделе Задачи.
Целевые объекты
Целевые объекты позволяют группировать задачи в определенном порядке и использовать разделы файла проекта в качестве точек входа в процесс построения. Целевые объекты часто группируются в логические разделы, чтобы повысить удобочитаемость и расширяемость. Благодаря разбиению действий построения на множество целевых объектов можно вызывать один фрагмент процесса построения из других целевых объектов, не создавая при этом копии соответствующего раздела кода в каждом целевом объекте. Например, если требуется создать ссылки для нескольких точек входа в процесс сборки, можно создать целевой объект, который выполняет сборку ссылок, и выполнять этот целевой объект из каждой нужной точки входа.
В более сложных сценариях целевые объекты могут использоваться для описания связей друг с другом и выполнять анализ зависимостей, что позволяет пропускать целые разделы процесса сборки, если такой целевой объект актуален. Дополнительные сведения о целевых объектах см. в разделе Целевые объекты.
Журналы сборки
Ошибки, предупреждения и сообщения журнала сборки можно выводить на консоль или на другое устройство вывода. Дополнительные сведения см. в руководствах по получению журналов сборки и ведению журналов в MSBuild.
Использование MSBuild в Visual Studio
Visual Studio использует формат файла проекта MSBuild для хранения данных сборки об управляемых объектах. Параметры проекта, добавленные или измененные с помощью интерфейса Visual Studio, отражаются в файле .*proj, который создается для каждого проекта. Для построения управляемых проектов в Visual Studio используется размещенный экземпляр MSBuild. Это означает, что выполнить построение управляемого проекта можно в Visual Studio или в командной строке (даже при отсутствии Visual Studio), и результаты будут одинаковыми.
Настройка для различных версий
Ниже приведены несколько преимуществ настройки для различных версий:
Можно ориентироваться на профиль платформы, который представляет собой предопределенное подмножество целевой платформы.
Дополнительные сведения см. в разделе Настройка для различных версий.
См. также
| Заголовок | Описание |
|---|---|
| Пошаговое руководство: Создание файла проекта MSBuild с нуля | Содержит описание способов пошагового создания основного файла проекта путем использования только текстового редактора. |
| Пошаговое руководство: Использование MSBuild | Содержит вводную информацию о стандартных блоках MSBuild и описание способов записи, управления и отладки проектов MSBuild без выхода из интегрированной среды разработки Visual Studio. |
| Основные понятия MSBuild | Содержит информацию о четырех стандартных блоках MSBuild: свойствах, элементах, целевых объектах и задачах. |
| Элементы | Содержит описание общих понятий, относящихся к формату файлов MSBuild, и способов взаимодействия фрагментов. |
| Свойства MSBuild | Содержит вводную информацию о свойствах и коллекциях свойств. Свойства представляют собой пары ключ-значение, с помощью которых выполняется настройка сборок. |
| Целевые объекты | Содержит объяснение группировки задач в определенном порядке и вызова разделов процесса построения из командной строки. |
| Задачи | Описывает процесс создания блока исполняемого кода, с помощью которого MSBuild выполняет атомарные операции построения. |
| Условия | Рассматривает использование атрибута Condition в элементе MSBuild. |
| Дополнительные возможности | Содержит информацию о пакетной обработке, выполнении преобразований, использовании нескольких целевых платформ и других дополнительных возможностях. |
| Ведение журнала в MSBuild | Описание возможностей записи в журнал событий, сообщений и ошибок сборки. |
| Как MSBuild выполняет сборку проектов | Описывает внутренний процесс сборки, используемый в MSBuild. |
| Дополнительные ресурсы | Содержит список ресурсов сообщества и службы поддержки с дополнительной информацией о MSBuild. |
Справочник
Справочные сведения о MSBuild
Содержит ссылки на разделы, содержащие справочную информацию.
Глоссарий
Содержит определения общих терминов MSBuild.









