Msbuild что за программа
MSBuild что это за программа и нужна ли она?
Если вы думаете как удалить MSBuild, то я этого не советую делать, а то могут возникнуть разные глюки через некоторое время. Могу дать совет — переименуйте папку например в …MSBuild_, поработайте пару дней за компом, если нет глюков можете удалить
Особого смысла писать подробно о том что за программа MSBuild нет, так как вряд ли вам будет интересно, это для программистов. Ну что интересно? Окей, тогда немного напишу. Вот смотрите, MSBuild запускается из командной строки таким образом — файл проекта передается модулю MSBuild.exe с определенными аргументами. В результате при помощи аргументов указываются свойства, задаются обьекты и средства для ведения журнала. Также этот модуль будет полезен для отображения в командной строке ошибок, предупреждений, сообщений.
Разработка приложения в проекте MSBuild при использовании среды разработки Visual Studio 2005:
Итак, какой можем сделать вывод о программе MSBuild?
Скорее всего папку вы нашли в \Program Files, но вот какая штука, в эту папку, пользуясь тем что это системный компонент, может также поселится и вирус. Но если вдруг подозреваете, что это вирус… то тут лучше сразу проверить компьютер онлайн сканером, если будут вирусы, то он их найдет и после проверки вы их сможете удалить.
Как видите, интересного мало, это системная программа и папку ее как бы не желательно удалять, тем более что если она просто простаивает — то она никому не мешает и не нагружает процессор вообще никак.
Так вот, по поводу вирусов, если думаете что они поселились на компе — то нет вопросов, проверьте сперва инструментом AdwCleaner, а потом пройдитесь сканером Eset, я о нем писал тут (во второй половине статьи!).
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.
Что такое 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? Нет? Так не спешите, принявшись за очистку компьютера, вовсе удалять 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 является платформой сборки для корпорации Майкрософт и Visual Studio. Это практическое руководство содержит вводную информацию о стандартных блоках MSBuild и описывает способы записи и отладки проектов MSBuild, а также управления ими. Здесь рассматриваются следующие вопросы:
создание файла проекта и работа с ним;
использование свойств сборки;
использование элементов сборки.
MSBuild можно запустить в Visual Studio или из командного окна. В этом пошаговом руководстве вы создадите файл проекта MSBuild с помощью Visual Studio. Вы отредактируете файл проекта в Visual Studio и с помощью командного окна выполните сборку проекта и просмотрите результаты.
Установка MSBuild
Если у вас есть Visual Studio, то MSBuild уже установлен. Чтобы установить MSBuild 15 в системе, не имеющей Visual Studio, перейдите на страницу загрузки более ранних версий Visual Studio, разверните пункт Visual Studio 2017 и нажмите кнопку Загрузить. Если у вас есть подписка Visual Studio, выполните вход и найдите ссылку для загрузки последней версии Build Tools для Visual Studio 2017. Если у вас нет подписки Visual Studio, вы по-прежнему можете установить последнюю версию средств сборки. На этой странице с помощью средства выбора версии переключитесь на страницу для версии 2019 и следуйте инструкциям по установке.
Если у вас есть Visual Studio, то MSBuild уже установлен. В Visual Studio 2019 и последующих средства сборки устанавливаются в папку установки Visual Studio. Для обычной установки по умолчанию в Windows 10 файл MSBuild.exe находится в папке установки MSBuild\Current\Bin.
Убедитесь, что в установщике выбраны средства MSBuild для используемых рабочих нагрузок, затем нажмите кнопку Установить.
Если у вас есть Visual Studio, то MSBuild уже установлен. В Visual Studio 2022 средства сборки устанавливаются в папку установки Visual Studio. Для обычной установки по умолчанию в Windows 10 файл MSBuild.exe находится в папке установки MSBuild\Current\Bin.
В установщике Visual Studio перейдите в раздел Отдельные компоненты и найдите флажок для MSBuild. Он выбирается автоматически при выборе любой из других рабочих нагрузок для установки.
Создание проекта MSBuild
Система проектов Visual Studio основана на MSBuild. Это упрощает создание файла проекта с помощью Visual Studio. В этом разделе создается файл проекта Visual C#. Вместо него можно выбрать создание файла проекта Visual Basic. В контексте данного пошагового руководства различия между двумя файлами проекта незначительны.
Создание файла проекта
Откройте Visual Studio и создайте проект.
В поле поиска, введите winforms, затем выберите Create a new Windows Forms App (.NET Framework) (Создать новое приложение Windows Forms (.NET Framework)). В появившемся диалоговом окне выберите Создать.
Щелкните ОК или Создать, чтобы создать файл проекта.
Анализ файла проекта
В предыдущем разделе вы использовали Visual Studio для создания файла проекта Visual C#. Файл проекта представлен в обозревателе решений узлом проекта с именем BuildApp. Чтобы проанализировать файл проекта, можно использовать редактор кода Visual Studio.
Анализ файла проекта
В обозревателе решений выберите узел проекта BuildApp.
В браузере Свойства обратите внимание, что свойство Файл проекта имеет значение BuildApp.csproj. В именах всех файлов проектов указан суффикс proj. Если вы создали проект Visual Basic, файлу проекта будет задано имя BuildApp.vbproj.
Еще раз щелкните правой кнопкой мыши узел проекта, а затем выберите Изменить BuildApp.csproj.
Файл проекта откроется в редакторе кода.
Для некоторых типов проектов, например C++, необходимо выгрузить проект, прежде чем можно будет открыть и изменить файл проекта. Чтобы выгрузить проект, щелкните правой кнопкой мыши файл проекта и выберите Выгрузить проект.
Целевые объекты и задачи
Файлы проекта представляют собой файлы в формате XML с корневым узлом Проект.
Для проектов не в стиле SDK необходимо указать пространство имен xmlns в элементе «Проект». Если атрибут ToolsVersion присутствует в новом проекте, он должен соответствовать версии MSBuild. Если версия MSBuild вам неизвестна, вы можете получить ее из первых двух чисел в выходных данных следующей командной строки (например, 16.0):
Создание приложения выполняется с помощью элементов Целевой объект и Задача.
Задача — это наименьшая единица работы или, другими словами, атом сборки. Задачи являются независимыми исполняемыми компонентами, которые могут иметь входные и выходные данные. Сейчас в проекте отсутствуют определенные задачи или задачи, на которые существуют ссылки. Процедура добавления задач в файл проекта описывается в следующих разделах. Дополнительные сведения см. в статье о задачах.
Целевой объект представляет собой именованную последовательность задач. Дополнительные сведения см. в статье о целевых объектах.
[это может быть именованная последовательность задач, но крайне важно то, что она представляет собой что-то, что должно быть создано или выполнено, поэтому ее необходимо определить с помощью подхода, ориентированного на цели]
Целевой объект по умолчанию не определен в файле проекта. Вместо этого он задан в импортированных проектах. Элемент Import указывает импортированные проекты. Например, в проекте C# целевой объект по умолчанию импортируется из файла Microsoft.CSharp.targets.
Импортированные файлы вставляются в файл проекта везде, где на них указывает ссылка.
В проектах в стиле SDK вы не увидите этого элемента Import, так как атрибут SDK приводит к неявному импорту этого файла.
MSBuild отслеживает целевые объекты сборки и гарантирует, что каждый целевой объект будет построен не более одного раза.
Добавление целевого объекта и задачи
Добавьте целевой объект в файл проекта. Добавьте задачу в целевой объект, который выводит сообщение.
Добавление целевого объекта и задачи
Добавьте следующие строки в файл проекта сразу после инструкции Import или после начала элемента Project.
Будет создан целевой объект с именем HelloWorld. Обратите внимание, что во время редактирования файла проекта доступна поддержка IntelliSense.
Добавьте строки в целевой объект HelloWorld, чтобы в результате раздел выглядел следующим образом:
Сохраните файл проекта.
Задача Message является одной из многих, входящих в комплект поставки MSBuild. Полный список доступных задач и сведения об их использовании см. в статье Справочные сведения о задачах MSBuild.
Задача Message принимает строковое значение атрибута Text в качестве входных данных и отображает его в устройстве вывода (или записывает его в один или несколько журналов, если применимо). Целевой объект HelloWorld выполняет задачу Message дважды: сначала для отображения Hello, а затем для отображения World.
Создание целевого объекта
Если вы попытаетесь выполнить сборку этого проекта из Visual Studio, определенный вами целевой объект не будет создан. Это связано с тем, что Visual Studio выбирает целевой объект по умолчанию, а это по-прежнему тот объект, который находится в импортированном файле .targets.
В следующих разделах мы будем называть командную строку разработчика командным окном.
Создание целевого объекта
Откройте командное окно.
Если вам нужно найти средство вручную, найдите файл LaunchDevCmd.bat в папке \Common7\Tools.
В командном окне перейдите в папку, содержащую файл проекта. В данном случае это D:\BuildApp\BuildApp.
Изучите выходные данные в окне командной строки. Вы должны увидеть две строки — Hello и World:
Переключаясь между редактором кода и командной строкой, можно изменять файл проекта и сразу же видеть результаты.
Свойства сборки
Свойства сборки являются парами «имя — значение», управляющими сборкой. В верхней части файла проекта уже определено несколько свойств сборки:
Все свойства являются дочерними элементами по отношению к элементам PropertyGroup. Имя свойства — это имя дочернего элемента, а значение свойства — это текстовый элемент дочернего элемента. Например, примененная к объекту директива
определяет свойство с именем TargetFrameworkVersion, задавая ему строковое значение «v4.5».
Свойства сборки можно переопределить в любое время. If
появляется далее в файле проекта или в файле, позже импортированном в файл проекта, свойство TargetFrameworkVersion принимает новое значение v3.5.
Анализ значения свойства
Чтобы получить значение свойства, используйте следующий синтаксис, где PropertyName — имя свойства:
С помощью этого синтаксиса проанализируйте некоторые свойства в файле проекта.
Анализ значения свойства
В редакторе кода замените целевой объект HelloWorld следующим кодом:
Сохраните файл проекта.
В командном окне введите и выполните следующую строку:
Проанализируйте результат. Вы должны увидеть следующие две строки (ваши выходные данные могут отличаться):
Условные свойства
означает: «Если свойство Configuration еще не определено, определите его и присвойте ему значение Debug».
Атрибут Condition может быть почти у всех элементов MSBuild. Дополнительные сведения об использовании атрибута Condition см. в статье об условиях.
Зарезервированные свойства
Переменные среды
Задание свойств из командной строки
Настройка значения свойства из командной строки
В командном окне введите и выполните следующую строку:
Проанализируйте результат. Вы должны увидеть следующую строку:
MSBuild создает свойство Configuration и присваивает ему значение Release.
Специальные символы
Измените задачу Message, чтобы отображать значение свойства Configuration со специальными символами для удобства чтения.
Использование специальных символов в задаче Message
В редакторе кода замените обе задачи Message следующей строкой:
Сохраните файл проекта.
В командном окне введите и выполните следующую строку:
Проанализируйте результат. Вы должны увидеть следующую строку:
Дополнительные сведения см. в статье Специальные символы в MSBuild.
Элементы сборки
Элемент — это часть данных, обычно имя файла, которая используется в качестве входных данных для системы сборки. Например, коллекцию элементов, представляющую исходные файлы, можно передать в задачу Compile, чтобы скомпилировать их в сборку.
Все элементы являются дочерними элементами по отношению к элементам ItemGroup. Именем элемента является имя дочернего элемента, а значением — значение атрибута Include дочернего элемента. Значения элементов с одинаковым именем собираются в типы элементов с таким именем. Например, примененная к объекту директива
определяет группу элементов, содержащую два элемента. Тип элемента Compile имеет два значения: Program.cs и Properties\AssemblyInfo.cs.
Следующий код создает тот же тип элементов посредством объявления обоих файлов в одном атрибуте Include, разделенных точкой с запятой.
Дополнительные сведения см. в разделе Элементы.
Пути к файлам задаются относительно папки, содержащей файл проекта MSBuild, даже если файл проекта является импортированным. Существует несколько исключений, например при использовании элементов Import и UsingTask.
Анализ значений типа элемента
Чтобы получить значения типа элемента, используйте следующий синтаксис, где ItemType — это имя типа элемента:
С помощью этого синтаксиса проанализируйте тип элемента Compile в файле проекта.
Анализ значений типа элемента
В редакторе кода замените целевую задачу HelloWorld следующим кодом:
Сохраните файл проекта.
В командном окне введите и выполните следующую строку:
Проанализируйте результат. Вы должны увидеть следующую строку:
По умолчанию значения типа элемента разделены точкой с запятой.
Чтобы изменить разделитель типа элемента, используйте следующий синтаксис, где ItemType — это тип элемента, а Separator — это строка из одного или нескольких разделительных символов:
Измените задачу Message для использования символов возврата каретки и перевода строки (%0A%0D) для отображения элементов Compile по одному в строке.
Отображение значений типов элементов по одному в строке
В редакторе кода замените задачу Message следующей строкой:
Сохраните файл проекта.
В командном окне введите и выполните следующую строку:
Проанализируйте результат. Должны отобразиться следующие строки:
Атрибуты Include, Exclude и подстановочные знаки
Можно использовать подстановочные знаки «*», «**» и «?» с атрибутом Include, чтобы добавить элементы к типу элемента. Например, примененная к объекту директива
добавляет все файлы с расширением файла .jpeg в папке изображений к типу элемента Photos, тогда как
добавляет все файлы с расширением файла .jpeg в папке изображений и всех ее вложенных папках к типу элемента Photos. Дополнительные примеры см. в статье Практическое руководство. Выбор файлов для сборки.
Обратите внимание, что, так как элементы объявлены, они добавляются к типу элемента. Например, примененная к объекту директива
создает тип элемента Photo, содержащий все файлы в папке изображений с расширением .jpeg или .gif. Это эквивалентно следующей строке:
С помощью атрибута Exclude можно исключить элемент из типа элемента. Например, примененная к объекту директива
добавляет все файлы с расширением .cs в тип элемента Compile, за исключением файлов, имена которых содержат строку Designer. Дополнительные примеры см. в статье Практическое руководство. Исключение файлов из сборки.
Атрибут Exclude применяется только к элементам, добавленным с помощью атрибута Include в элемент, содержащий их оба. Например, примененная к объекту директива
не исключит файл Form1.cs, добавленный в предыдущий элемент.
Включение и исключение элементов
В редакторе кода замените задачу Message следующей строкой:
Добавьте эту группу элементов сразу после элемента Import:
Сохраните файл проекта.
В командном окне введите и выполните следующую строку:
Проанализируйте результат. Вы должны увидеть следующую строку:
Метаданные элементов
Помимо сведений, собранных из атрибутов Include и Exclude, элементы могут содержать метаданные. Эти метаданные могут использоваться задачами, требующими дополнительных сведений об элементах, а не просто их значений.
Для объявления элементов в файле проекта создается элемент с именем метаданных, являющийся дочерним по отношению к элементу. Элемент может содержать нуль или более значений метаданных. Например, следующий элемент CSFile содержит метаданные Culture со значением Fr:
Чтобы получить значение метаданных типа элемента, используйте следующий синтаксис, где ItemType — это имя типа элементов, а MetaDataName — имя метаданных:
Анализ метаданных элементов
В редакторе кода замените задачу Message следующей строкой:
Сохраните файл проекта.
В командном окне введите и выполните следующую строку:
Проанализируйте результат. Должны отобразиться следующие строки:
Обратите внимание, что фраза Compile.DependentUpon появляется несколько раз. Использование метаданных с таким синтаксисом в целевом объекте приводит к пакетной обработке. Пакетная обработка означает, что задачи в целевом объекте выполняются один раз для каждого уникального значения метаданных. Это является эквивалентом скрипта MSBuild общей конструкции программирования for loop. Дополнительные сведения см. в статье Пакетная обработка.
Стандартные метаданные
Всякий раз, когда элемент добавляется в список элементов, ему назначаются некоторые стандартные метаданные. Например %(Filename) возвращает имя файла любого элемента. Полный список стандартных метаданных см. в статье Общеизвестные метаданные элементов MSBuild.
Анализ стандартных метаданных
В редакторе кода замените задачу Message следующей строкой:
Сохраните файл проекта.
В командном окне введите и выполните следующую строку:
Проанализируйте результат. Должны отобразиться следующие строки:
Сравнивая два приведенных выше примера, можно увидеть, что, хотя не у каждого элемента в типе элемента Compile имеются метаданные DependentUpon, у всех элементов есть стандартные метаданные Filename.
Преобразования метаданных
Списки элементов могут быть преобразованы в новые списки элементов. Чтобы преобразовать список элементов, используйте следующий синтаксис, где — это имя типа элементов, а — имя метаданных:
Преобразование элементов с помощью метаданных
В редакторе кода замените задачу Message следующей строкой:
Сохраните файл проекта.
В командном окне введите и выполните следующую строку:
Проанализируйте результат. Вы должны увидеть следующую строку:
Обратите внимание, что выраженные в этом синтаксисе метаданные не приводят к пакетной обработке.
Следующие шаги
Пошаговые инструкции по созданию файла простого проекта см. в статье Пошаговое руководство. Создание файла проекта MSBuild с нуля.