Нужна ли программа msbuild

Microsoft Build Engine представляет собой платформу для сборки приложений. Компонент MSBuild обеспечивает для файла проекта схему XML, определяющую способы, используемые платформой сборки для обработки и сборки приложений. Visual Studio использует MSBuild, но MSBuild не зависит от Visual Studio. Вызывая msbuild.exe или dotnet build в файле проекта или решения, вы можете управлять и создавать продукты в средах, где Visual Studio не установлен.

Visual Studio использует MSBuild для загрузки и сборки управляемых проектов. Файлы проектов в Visual Studio (с расширением CSPROJ, VBPROJ, VCXPROJ) содержат код XML MSBuild, который выполняется при создании проекта с помощью интегрированной среды разработки. Проекты Visual Studio импортируют все необходимые параметры и процессы сборки для выполнения стандартной работы по разработке, но их можно расширять и изменять в Visual Studio или в редакторе XML.

Чтобы установить MSBuild в системе Windows без Visual Studio, перейдите к разделу Средства сборки для Visual Studio 2022 на странице загрузки. Другой способ получить MSBuild — установить пакет SDK для .NET. MSBuild доступен вместе с пакетом SDK для .NET в macOS, Windows или Linux. Вы также можете использовать интерфейс командной строки (CLI) .NET Core, который использует MSBuild, для создания проектов, предназначенных для .NET Core, .NET 5 и более поздних версий.

Introduction to MSBuild

Начиная с Visual Studio 2022, при выполнении сборки в Visual Studio используется 64-разрядная версия MSBuild.

Сведения об MSBuild для C++ см. в разделе MSBuild (C++).

В следующих примерах показаны случаи, когда сборки можно запускать с помощью вызова MSBuild из командной строки, а не интегрированной среды разработки Visual Studio.

  • Среда Visual Studio не установлена.
  • Вам требуется 64-разрядная версия MSBuild, но вы используете Visual Studio 2019 или более ранней версии. Эта версия MSBuild обычно не нужна, но она позволяет MSBuild обращаться к большему объему памяти.
  • Сборку требуется выполнять в нескольких процессах. Однако можно использовать интегрированную среду разработки, чтобы добиться того же результата для проектов на C++ и C#.
  • Требуется изменить систему сборки. Например, может потребоваться выполнить следующие действия:
  • предварительная обработка файлов перед их компиляцией;
  • копирование выходных данных сборки в другое место;
  • создание сжатых файлов из выходных данных сборки;
  • пост-обработка. Например, может потребоваться присвоить сборке другой номер версии.

Можно написать код в интегрированной среде разработки Visual Studio, но запускать сборку с помощью MSBuild. В качестве альтернативы можно создать код в интегрированной среде разработки на компьютере разработки, но запустить MSBuild из командной строки, чтобы создать код, интегрированный из исходного репозитория при совместной работе нескольких разработчиков.

С помощью Azure Pipelines можно автоматически компилировать, тестировать и развертывать приложение. Система сборки может автоматически запускать сборку, когда разработчики возвращают код (например, как часть стратегии непрерывной интеграции) или по расписанию (например, выполнять ежедневную ночную тестовую сборку). Azure Pipelines компилирует код с использованием MSBuild. Дополнительные сведения см. в описании Azure Pipelines.

A Perfect Match: WiX and MSBuild

Вводное руководство по MSBuild в Windows см. в разделе Пошаговое руководство. Использование MSBuild.

Использование MSBuild в командной строке

Чтобы запустить MSBuild из командной строки, передайте файл проекта в MSBuild.exe при использовании соответствующих параметров командной строки. Параметры командной строки позволяют задавать свойства, выполнять определенные целевые объекты и задавать другие параметры, управляющие процессом построения. Например, используя следующий синтаксис командной строки, можно создать файл MyProj.proj со свойством Configuration , для которого задается значение Debug .

MSBuild.exe MyProj.proj -property:Configuration=Debug

Дополнительные сведения о параметрах командной строки MSBuild см. в статье Справочник по командной строке MSBuild.

Перед загрузкой проекта определите, можно ли доверять коду.

Для .NET Core и .NET 5 или более поздней версии обычно используется для dotnet build вызова MSBuild. См . раздел dotnet build.

Файл проекта

MSBuild использует открытый и расширяемый формат файлов проекта на базе XML. Формат файла проекта MSBuild позволяет разработчикам описывать создаваемые элементы, а также способы их построения для разных операционных систем и конфигураций. Кроме того, формат файла проекта позволяет разработчикам создавать многократно используемые правила сборки, которые можно разложить на отдельные файлы, чтобы сборки могли выполняться единообразно в различных проектах в составе соответствующего продукта.

Читайте также:
Как распространить программу по сети

Система сборки Visual Studio хранит логику конкретного проекта в самом файле проекта и использует импортированные XML-файлы MSBuild с такими расширениями, как .props и .targets , чтобы определить стандартную логику сборки. Файлы .props определяют свойства MSBuild, а .targets файлы определяют целевые объекты MSBuild. Эти операции импорта иногда отображаются в файле проекта Visual Studio, но в более новых проектах, таких как проекты .NET Core, .NET 5 и .NET 6, импорт не отображается в файле проекта. Вместо этого вы увидите ссылку на пакет SDK, которая выглядит следующим образом:

Это так называемые проекты в стиле SDK. При ссылке на пакет SDK, такой как пакет SDK для .NET, импорт .props файлов и .target неявно определяется пакетом SDK.

В следующих разделах описаны некоторые из базовых элементов формата файла проекта MSBuild. См. дополнительные сведения о создании базового файла проекта MSBuild с нуля.

Свойства

Свойства представляют пары ключ-значение, с помощью которых выполняется настройка построения. Для объявления свойства создается элемент с таким же именем как у свойства, который является дочерним по отношению к элементу PropertyGroup. Например, в следующем коде создается свойство BuildDir со значением Build .

Build

Свойство можно определить условно, задав атрибут Condition в элементе. Содержимое условных элементов игнорируется, пока значение условия не станет true . В следующем примере свойство определяется, Configuration если оно еще не определено.

DefaultValue

Для обращения к свойствам в файле проекта используется синтаксис $(). Например, к свойствам из предыдущих примеров можно обращаться с помощью конструкций $(BuildDir) и $(Configuration) .

Дополнительные сведения о свойствах см. в разделе Свойства MSBuild.

Items

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

Для объявления элементов в файле проекта создается элемент с именем типа элементов, являющийся дочерним по отношению к элементу ItemGroup. Например, с помощью приведенного ниже кода создается тип элементов с именем Compile , в который входят два файла.

В MSBuild имена элементов и атрибутов задаются с учетом регистра. А имена свойств, элементов (item) и метаданных — нет. В следующем примере создается тип элементов Compile , comPile или любого другого варианта написания, и типу элементов присваивается значение «one.cs;two.cs».

При объявлении элементов можно использовать подстановочные знаки; элементы могут содержать дополнительные метаданные для расширенных сценариев построения. Дополнительные сведения об элементах см. в разделе Элементы.

Задания

Задачи — это блоки исполняемого кода, с помощью которых в проектах MSBuild выполняются операции построения. Например, в задаче может выполняться компиляция входных файлов или запускаться внешняя программа. Созданные задачи могут использоваться совместно и многократно разными разработчиками в различных проектах.

Алгоритм выполнения задачи записан в управляемом коде и сопоставлен с MSBuild с помощью элемента UsingTask. Для создания собственной задачи можно разработать управляемый тип, реализующий интерфейс ITask. Дополнительные сведения о способах создания задач см. в руководстве по написанию задач.

MSBuild включает стандартные задачи, которые можно изменять в соответствии с требованиями. Примеры: Copy — копирование файлов, MakeDir — создание каталогов, Csc — компиляция файлов исходного кода Visual C#. Список доступных задач и сведения об их использовании см. в справочнике по задачам.

Задача выполняется в файле проекта MSBuild путем создания элемента с таким же именем как у задачи в виде дочернего элемента по отношению к элементу Target. Задачи, как правило, принимают параметры, которые передаются как атрибуты элемента. В качестве параметров можно использовать свойства и элементы MSBuild. Например, с помощью следующего кода вызывается задача MakeDir и ей передается значение свойства BuildDir , объявленного в предыдущем примере.

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

Цели

Целевые объекты позволяют группировать задачи в определенном порядке и использовать разделы файла проекта в качестве точек входа в процесс построения. Целевые объекты часто группируются в логические разделы, чтобы повысить удобочитаемость и расширяемость. Благодаря разбиению действий построения на множество целевых объектов можно вызывать один фрагмент процесса построения из других целевых объектов, не создавая при этом копии соответствующего раздела кода в каждом целевом объекте. Например, если требуется создать ссылки для нескольких точек входа в процесс сборки, можно создать целевой объект, который выполняет сборку ссылок, и выполнять этот целевой объект из каждой нужной точки входа.

Читайте также:
Какая программа лучше фотошопа для айфона

Целевые объекты объявляются в файле проекта с помощью элемента Target. Например, с помощью следующего кода создается целевой объект с именем Compile , который затем вызывает задачу Csc со списком элементов, объявленным в предыдущем примере.

В более сложных сценариях целевые объекты могут использоваться для описания связей друг с другом и выполнять анализ зависимостей, что позволяет пропускать целые разделы процесса сборки, если такой целевой объект актуален. Дополнительные сведения о целевых объектах см. в разделе Целевые объекты.

Журналы сборки

Ошибки, предупреждения и сообщения журнала сборки можно выводить на консоль или на другое устройство вывода. Дополнительные сведения см. в разделе Получение журналов сборки с помощью MSBuild.

Использование MSBuild в Visual Studio

Visual Studio использует формат файла проекта MSBuild для хранения данных сборки об управляемых объектах. Параметры проекта, добавленные или измененные с помощью интерфейса Visual Studio, отражаются в файле .*proj, который создается для каждого проекта. Для построения управляемых проектов в Visual Studio используется размещенный экземпляр MSBuild. Это означает, что выполнить построение управляемого проекта можно в Visual Studio или в командной строке (даже при отсутствии Visual Studio), и результаты будут одинаковыми.

Настройка для различных версий

С помощью Visual Studio можно компилировать приложение для его запуска на любой из нескольких версий платформы .NET Framework. Например, можно компилировать приложение для запуска в .NET Framework 2.0 на 32-разрядной платформе, а также компилировать то же приложение для запуска в .NET Framework 4.5 на 64-разрядной платформе. Возможность компиляции для нескольких платформ называется настройкой для различных версий.

Ниже приведены несколько преимуществ настройки для различных версий:

  • Вы можете разрабатывать приложения, ориентированные на более ранние версии .NET Framework, например версии 3.5 и 4.7.2.
  • Можно ориентироваться на профиль платформы, который представляет собой предопределенное подмножество целевой платформы.
  • После появления пакета обновления для текущей версии .NET Framework можно выбрать его в качестве целевой платформы.
  • Поддержка различных платформ гарантирует, что приложение использует только те функциональные возможности, которые доступны в целевой версии .NET Framework и платформы.

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

Настройка сборки

MSBuild обеспечивает поддержку широкого спектра пользовательских сценариев сборки. Большинство встроенных функций можно переопределить или расширить. Дополнительные сведения см. в статье Настройка сборки.

Программный доступ к MSBuild

При разработке средства сборки может потребоваться вызвать MSBuild программным способом из приложения .NET. С помощью API MSBuild можно управлять всеми аспектами сложной системы сборки. MSBuild предоставляет пакет NuGet с полным API (пространство имен Microsoft.Build), который можно использовать из приложения .NET для этих целей. См . раздел Использование API MSBuild.

MSBuild открытый код

MSBuild — это проект с открытым кодом, который принимает участие пользователей, как и остальная часть экосистемы .NET. Репозиторий, содержащий источник MSBuild, доступен в репозитории GitHub MSBuild.

См. также

Справочник

  • Справочные сведения о MSBuild
    Содержит ссылки на разделы, содержащие справочную информацию.
  • Словарь терминов
    Содержит определения общих терминов MSBuild.

Источник: learn.microsoft.com

MSBuild что это за программа и нужна ли она?

Поговорим о такой программе как MSBuild, для чего она и можно ли ее удалить. MSBuild является штатным инструментом сборки проекта и используется в редакторе Visual Studio (или SharpDevelop), это такая программа в которой разработчики создают другие программы — пишут код и компилируют потом. Но при этом возможно создавать программы и без этой студии, достаточно чтобы был сам Microsoft Build Engine (MSBuild). Также данный компонент помогает собирать конечные проекты с поддержкой платформы .NET, при этом как версии 2.0 так и более современной.

Если вы думаете как удалить MSBuild, то я этого не советую делать, а то могут возникнуть разные глюки через некоторое время. Могу дать совет — переименуйте папку например в …MSBuild_, поработайте пару дней за компом, если нет глюков можете удалить

Особого смысла писать подробно о том что за программа MSBuild нет, так как вряд ли вам будет интересно, это для программистов. Ну что интересно? Окей, тогда немного напишу. Вот смотрите, MSBuild запускается из командной строки таким образом — файл проекта передается модулю MSBuild.exe с определенными аргументами.

В результате при помощи аргументов указываются свойства, задаются обьекты и средства для ведения журнала. Также этот модуль будет полезен для отображения в командной строке ошибок, предупреждений, сообщений.

Читайте также:
Программы сканеры для компьютера как найти

Разработка приложения в проекте MSBuild при использовании среды разработки Visual Studio 2005:

Итак, какой можем сделать вывод о программе MSBuild?

  • позволяет вести файл журнала с ошибками, предупреждениями и сообщениями при выполнении;
  • обработка в пакетном режиме задач, обьектов, на основе метаданных;
  • преобразование для дальнейшего анализа и эффективного построения проектов;
  • интеграция с Visual Studio, где MSBuild отвечает за проект, поэтому можно использовать любой проект, который был собран с использованием MSBuild, даже если он был создан при помощи другого инструмента;

Модуль MSBuild может работать с файлами, расширения у которых соответствует шаблону .*proj.

Скорее всего папку вы нашли в Program Files, но вот какая штука, в эту папку, пользуясь тем что это системный компонент, может также поселится и вирус. Но если вдруг подозреваете, что это вирус… то тут лучше сразу проверить компьютер онлайн сканером, если будут вирусы, то он их найдет и после проверки вы их сможете удалить.

Как видите, интересного мало, это системная программа и папку ее как бы не желательно удалять, тем более что если она просто простаивает — то она никому не мешает и не нагружает процессор вообще никак.

Так вот, по поводу вирусов, если думаете что они поселились на компе — то нет вопросов, проверьте сперва инструментом AdwCleaner, а потом пройдитесь сканером Eset, я о нем писал тут (во второй половине статьи!).

Источник: virtmachine.ru

MSBuild что это за программа

Grozza.ru

Знаете программу MSBuild? Нет? Так не спешите, принявшись за очистку компьютера, вовсе удалять MSBuild, поскольку можете нажить тем самым ненужных проблем. В сети информация на счёт того, что это такое MSBuild довольно разрозненная, в виде либо кратких хаотичных разговоров на форумах, либо тяжеловесных для восприятия статей, написанных программистами для программистов. Поэтому я и решил попробовать написать, что это за приложение MSBuild, вкратце описав механику процесса, объяснить, для каких целей оно используется.

Что такое MSBuild

Итак, немного истории, плавно перетекающей в наши дни. Для реализации сборки небольших проектов существует компилятор командной строки и пакетного файла, который содержит вызов. В том случае, если проект возрастает, необходимой становится программа MSBuild, которая будет отслеживать версии файлов и компилировать модули. Изначально это была программа make, появившаяся еще в Unix и постепенно перешедшая на другие платформы. Его работа устроена таким образом: он считывает файл, в котором заключено описание зависимостей между исходными и целевыми файлами, затем сравнивает их версии и автоматически решает, требуется ли пересоздать целевые файлы.

Visual Studio MSBuild

Попробую подробно объяснить, что это за программа 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

Если удалить MSBuild, многие интернет браузеры также элементарно перестанут запускаться. А если удалить ATK Package не будет работать 3d графика.

Надеюсь, что в данной статье мне удалось пролить немного света на ситуацию с описываемой программой MSBuild, отговорив вас, если вы имели таковое желание, удалять ее.

Источник: grozza.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru