Задача компилятора сообщений
Комплект драйверов Windows (WDK) предоставляет задачу MessageCompiler, чтобы можно было запустить средство MC.exe при сборке драйвера с помощью MSBuild. Сведения об использовании MC.exe см. в разделе Компилятор сообщений (MC.exe).
MSBuild использует элемент MessageCompile для отправки параметров для задачи MessageCompiler. Элемент MessageCompile обращается к метаданным элемента для mc.exe в файлах проекта.
В следующем примере показано, как изменить метаданные в файле .vcxproj.
<ItemGroup>
<MessageCompile Include="a.mc">
<GenerateBaselineResource>true</GenerateBaselineResource>
<BaselineResourcePath>c:\test\</BaselineResourcePath>
</MessageCompile>
</ItemGroup>
В следующем примере показан вызов командной строки:
mc.exe –s "c:\test\" a.mc
В приведенном выше примере MSBuild вызывает mc.exe на a.mc файла с параметром –s, так как для метаданных GenerateBaselineResource задано значение true. Кроме того, MSBuild использует метаданные BaselineResourcePath для указания аргумента для параметра –s.
Параметр задачи MessageCompiler | Метаданные элементов | Переключатель инструментов |
---|---|---|
Источники
Необязательный параметр типа string. Указывает имя файла манифеста для компиляции. Указывает имя файла сообщения для компиляции. |
@(MessageCompile) | <filename.man> <filename.mc> |
ANSIInputFile
Указывает, что входной файл имеет значение ANSI (по умолчанию). |
%(MessageCompile.ANSIInputFile) | -a |
ANSIMessageInBinFile
Указывает, что сообщения в . BIN-файл должен иметь значение ANSI. |
%(MessageCompile.ANSIMessageInBinFile) | -A |
EnableDebugOutputPath
Если задано значение true, параметр –x включается. |
%(MessageCompile.EnableDebugOutputPath) | |
DebugOutputPath
Указывает папку, в которую компилятор помещает включаемый файл .dbg C. DBG-файл сопоставляет идентификаторы сообщений с их символьными именами. |
%(MessageCompile.DebugOutputPath) | -x<путь> |
EnableCallOutMacro
Добавляет макрос выноски для вызова пользовательского кода во время ведения журнала. Этот параметр недопустим для C# и игнорируется. |
%(MessageCompile.EnableCallOutMacro) | -Co |
EventmanPath
Указывает путь к файлу eventman.xsd. |
%(MessageCompile.EventmanPath) | -w<файл> |
GenerateBaselineResource
Если задано значение true, параметр -s включается. |
%(MessageCompile.GenerateBaselineResource) | |
BaselineResourcePath
Создает двоичный ресурс для каждого поставщика. Создает сводную глобальную MCGenResource.BIN ресурсов. |
%(MessageCompile.BaselineResourcePath) | -s<path> |
GenerateC#LoggingClass
Создает класс ведения журнала C# (управляемый) на основе класса событий FX3.5. |
%(MessageCompile.GenerateC#LoggingClass) | Пространство>имен -cs< |
GenerateC#StaticLoggingClass
Создает статический класс ведения журнала C# (управляемый) на основе класса событий FX3.5. |
%(MessageCompile.GenerateC#StaticLoggingClass) | Пространствоимен> -css< |
GeneratedFilesBaseName
Задает базовое имя созданных файлов. Значение по умолчанию — базовое имя входного файла. |
%(MessageCompile.GeneratedFilesBaseName) | -z<basename> |
GeneratedHeaderPath
Если задано значение true, он включает параметр -h. |
%(MessageCompile.GeneratedHeaderPath) | |
HeaderFilePath
Указывает путь к месту создания включаемого файла C. Значение по умолчанию — .. |
%(MessageCompile.HeaderFilePath) | Путь> -h< |
GeneratedRcAndMessagesPath
Если задано значение true, параметр -r включается. |
%(MessageCompile.GeneratedRcAndMessagesPath) | |
RCFilePath
Указывает путь к файлу-кандидату и файлам ресурсов двоичных сообщений, которые он включает. Значение по умолчанию — .. |
%(MessageCompile.RCFilePath) | -r<path> |
GenerateKernelModeLoggingMacros
Создает макросы ведения журнала в режиме ядра. |
%(MessageCompile.GenerateKernelModeLoggingMacros) | -Км |
GenerateMOFFile
Создает поддержку нижнего уровня для всех создаваемых функций и макросов. MOF-файл создается из манифеста. MOF-файл помещается в расположение, указанное параметром "-h". |
%(MessageCompile.GenerateMOFFile) | -Mof |
GenerateOLE2Header
Создает файл заголовка OLE2. Использует определение HRESULT вместо определения кода состояния. |
%(MessageCompile.GenerateOLE2Header) | -o |
GenerateUserModeLoggingMacros
Создает макросы ведения журнала в пользовательском режиме. |
%(MessageCompile.GenerateUserModeLoggingMacros) | -um |
HeaderExtension
Задает расширение для файла заголовка (1–3 символа). |
%(MessageCompile.HeaderExtension) | Расширение>-e< |
MaximumMessageLength
Создает предупреждение, если размер любого сообщения превышает <длину> символов. |
%(MessageCompile.MaximumMessageLength) | -m<длина> |
PrefixMacroName
Определяет префикс имени макроса, который применяется к каждому созданному макросу ведения журнала. Значение по умолчанию — "EventWrite". |
%(MessageCompile PrefixMacroName) | Префикс> -p< |
RemoveCharsFromSymbolName
Определяет текст в начале каждого имени символа события, удаляемого перед формированием имен макросов. Значение по умолчанию — NULL. |
%(RemoveCharsFromSymbolName) | Префикс> -P< |
SetCustomerbit
Задает бит Customer во всех идентификаторах сообщения. |
%(MessageCompile.SetCustomerbit) | -c |
TerminateMessageWithNull
Завершает все строки символами NULL в таблицах сообщений. |
%(MessageCompile.TerminateMessageWithNull) | -n |
ЮникодInputFile
Входной файл — Юникод. |
%(MessageCompile.UnicodeInputFile) | -u |
ЮникодMessageInBinFile
Сообщения в . BIN-файл должен иметь значение Юникод (по умолчанию). |
%(MessageCompile.UnicodeMessageInBinFile) | -U |
UseBaseNameOfInput
Указывает, что объект . Имя файла BIN должно содержать MC-имя файла для уникальности. |
%(MessageCompile. UseBaseNameOfInput) | -b |
UseDecimalValues
Задает значения FACILTY и SEVERITY в файле заголовка в десятичном формате. Изначально задает десятичные значения сообщения в заголовке. |
%(MessageCompile.UseDecimalValues) | -d |
ValidateAgainstBaselineResource
Если задано значение true, то создается параметр -t. |
%(MessageCompile.ValidateAgainstBaselineResource) | |
Базовый путь
Проверяет базовый ресурс. |
%(MessageCompile.BaselinePath) | -t<путь> |
Verbose
Указывает расширенный вывод. |
%(MessageCompile.Verbose) | -v |
WinmetaPath
Указывает путь к файлу winmeta.xml. |
%(MessageCompile.WinmetaPath) | -W-файл<> |