Я пытаюсь разработать простой аспект - InformationAttribute
- на основе ScalarConstraint
, целью которого является вывод / добавление в список ошибок Visual Studio во время компиляции сообщения. Мне нужно именно информационное сообщение, а не предупреждение, так что обработка предупреждений как ошибок, et c., Не приведет к остановке компиляции; эти сообщения предназначены, например, для напоминания разработчикам о том, что использование определенных аспектов в проекте требует использования конкретной библиотеки плагинов PostSharp или что определенные тесты требуют определенных внешних предварительных условий.
Теоретически это должно быть просто , тем более что у меня уже есть рабочий WarningAttribute
, который выполняет ту же работу, что и предупреждение. Однако простое изменение SeverityType
в вызове на Message.Write
, таким образом:
public override void ValidateCode (object target)
{
Message.Write (MessageLocation.Of (target),
SeverityType.ImportantInfo
"WA001",
this.reason) ;
}
не работает, хотя в документации PostSharp указано, что сообщения, написанные на SeverityType.ImportantInfo
показаны в списке ошибок Visual Studio в разделе «Сообщения». Я могу подтвердить, что, когда msbuild
вызывается из командной строки, эти сообщения выводятся на консоль, но они не отображаются в VS, когда сборка запускается оттуда.
Я пока не нашел хорошей линии атаки, или, к сожалению, у кого-то есть подобные проблемы; Кто-нибудь решил эту проблему или есть хороший подход к ее решению?