Конфигурация проекта для вывода
Каждая конфигурация может поддерживать набор процессов построения, которые формируют выходные элементы, что и исполняемый файл или файлы ресурсов. Эти выходные элементы являются закрытыми пользователю и могут быть помещены в группах, которые связывают связанные типы вывода, как исполняемых файлов (exe, .dll (.lib) и исходные файлы (idl-файлы, h).
Выходные элементы можно сделать доступными посредством IVsOutput2 методов и указано с IVsEnumOutputs методы. Если требуется группировать элементы вывода, проект должен также реализовывать IVsOutputGroup интерфейс.
Конструкция начатая путем реализации IVsOutputGroup позволяет группировать проекты выходы в соответствии с потреблению. Например, библиотека DLL может быть группирует со своей базой данных программы (PDB).
Примечание
Pdb-файл содержит сведения об отладке и он создается, когда параметр "создание отладочной информации определяется при построении .dll или .exe".Pdb-файл обычно создается для конфигурации проекта debug.
Проект должен возвращать одинаковое количество групп для каждой конфигурации, которую он поддерживает, даже если число выходов, содержащихся в пределах группы может отличаться от конфигурации в конфигурации. Например, Matt проекта библиотеки DLL может включать mattd.dll и mattd.pdb в конфигурации отладки, но содержит только в matt.dll розничной конфигурации.
Группы также имеют одни и те же данные идентификатора, например каноническое имя, отображаемое имя, и данные группы из конфигурации в конфигурации проекта. Эта согласованность позволяет развертывание и упаковка, чтобы продолжить работу даже в том случае, если изменение конфигураций.
Группы могут также иметь ключевой вывод, который позволяет ярлыки упаковки к точке на что-нибудь значимое. Любая группа может быть пустой в заданной конфигурации, поэтому не следует сделать никаких предположений о размере группы. Размер (число выходов) каждой группы в любой конфигурации может отличаться от размера другой группы на одной и той же конфигурации. Он также может отличаться от размера той же группы в другой конфигурации.
Команды вывода
Основным применением IVsProjectCfg интерфейс предоставить доступ для построения, развертывания и отладки объектов управления и проектам свободу группирования выходов. Дополнительные сведения об использовании этого интерфейса см. в разделе объект конфигурации проекта.
В предыдущей схеме, группа Built содержит ключевой выход с помощью конфигурации (или bD.exe или b.exe), поэтому построенный пользователь может создать ярлык и знать, что ярлык будет работать независимо от развертыванной конфигурации. Источник группы не имеет выходных данных ключа, поэтому пользователь не может создать ярлык на него. Если группа Built отладка имеет ключевой выход, но Built не розничную группу, которая была бы неверной реализации. Она выполнить, а затем, что если любая конфигурация не содержит группу, которая не содержит ни одного выхода, а в результате отсутствует файл ключа, то другие конфигурации с этой группой, содержащих выходные данные не может содержать ключевые файлы. Редакторы установщика предположим, что канонические имена и отображаемые имена групп, а также существование файла ключа, не меняются в зависимости от конфигурации.
Обратите внимание, что если проект содержит IVsOutputGroup что он не хочет к пакету или не развертывает его, чтобы поместить, что выход не в группу. Результат может все еще быть перечислен как правило, реализовав EnumOutputs метод, который возвращает все выходы конфигурации независимо от группирования.
Дополнительные сведения см. в разделе реализация IVsOutputGroup в пользовательской образце проекта на MPF для проектов - визуальный элемент Studio.
См. также
Основные понятия
Конфигурация проекта для построения