2012-05-07 1 views
3

Я использую msbuildtask для проверки XML-файла в Build. Я могу сделать это с помощью метода Execute после расширения Task. Невозможно отобразить пользовательские предупреждения или сообщения с указанием причины сбоя сборки. Есть ли какой-либо пользовательский способ бросить предупреждение компилятора из кода?Throwing Custom Compiler Предупреждения при написании пользовательской Msbuildtask

ответ

2

Я обнаружил, что использование интерфейса ITask дает нам дополнительную силу взаимодействия с движком Msbuild, чем интерфейс Task.

  • Внедрение интерфейса ITask для класса и добавление кода для выполнения задачи ur в методе Execute.
  • Добавьте эту задачу в csproj.
  • При реализации интерфейса ITask есть способ связаться с компилятором и передать ему сообщения или предупреждения или ошибки. Вот простой пример класса, который реализует интерфейс ITask http://blogs.msdn.com/b/msbuild/archive/2006/01/21/515834.aspx
0

Определить имя WARN, а затем записать где-то

#if WARN 
#warning (Warning message) 
#endif 

Кстати, вы можете сделать это с #error тоже.

+0

есть ли способ использовать предупреждение, полученное из исключения в этом? exp.Message можно использовать таким образом? Прошел к нему? –

+0

Я думаю, что сообщение должно быть жестко запрограммировано, но я не уверен. Вы можете попробовать, если он работает в тестовом проекте. – phg