Любой способ заменить использование Visual Studio msbuild и по-прежнему получать отчеты об ошибках в IDE? - PullRequest
1 голос
/ 22 февраля 2012

Есть ли способ заменить использование Visual Studio msbuild и по-прежнему получать отчеты об ошибках в IDE? Я думаю, что я мог бы хотеть скомпилировать в VS с NAnt или Rake или PowerShell, или что-то такое же умное, но использующее язык сценариев вместо XML. Моя сборка довольно проста - найдите все .cs и скомпилируйте их и поместите dll в Debug / или Release / etc.

Я хотел бы добавить ряд других шагов, которые кажутся проще из командной строки:

  • Как попасть на сервер, чтобы очистить определенные кэши.
  • Компиляция с закрытием
  • Сократить CSS
  • Генерация некоторых метрик после сборки (в определенной конфигурации)
  • Запустите NUnit (или пользовательский) тестовый фреймворк и отправьте электронное письмо
  • и т.д ....

Тем не менее, я все же хотел бы получить обратную связь "ошибка в сети" внутри IDE. Это возможно?

Ответы [ 2 ]

2 голосов
/ 23 февраля 2012

Вы можете написать какое-то расширение для Visual Studio (Macro, AddIn, Package и т. Д.), Которое может дополнить Visual Studio для запуска других инструментов сборки. Простейшая форма, вероятно, просто использует «Инструменты \ Внешние инструменты ..» и добавляет туда свой инструмент сборки. Пока вы форматируете свои «сообщения сборки» как , описанные здесь , окно вывода должно отображаться так, как если бы они были сгенерированы MSBuild.

Тем не менее, я не думаю, что это возможно (и не желательно, кстати) полностью заменить MSBuild в Visual Studio.

Visual Studio не только выполняет MSBuild.exe и анализирует его вывод. Интеграция очень тесная , и многие аспекты графического интерфейса напрямую зависят от содержимого файла MSBuild. Например, когда вы изменяете некоторые свойства проекта в пользовательском интерфейсе Visual Studio, эти изменения (в конечном итоге) записываются в файл MSBuild проекта.

Кроме того, есть некоторые улучшения производительности, например, Visual Studio «заменяет», так сказать, вызов csc.exe (компилятор C #) из файла MSBuild с помощью внутрипроцессного компилятора, который сохраняет некоторую компиляцию время, потому что нужно запускать меньше внешних процессов (также описано в вышеупомянутом документе )

Хотя все это, с архитектурной точки зрения, вполне может быть обернуто и инкапсулировано некоторыми «интерфейсами» в Visual Studio, я пока не нашел способа заставить эти «интерфейсы» реализовывать что-то еще, например, , использует NAnt позади.

В любом случае, я думаю, что даже если это технически возможно, это не будет технически осуществимо.

1 голос
/ 02 сентября 2012

Для рейка, проверьте Rake Runner расширение.Вы можете запустить задачи rake из обозревателя решений и проверить ошибки и другие выходные данные на панели Output.У меня мало опыта разработки пакетов против, поэтому, если кто-то захочет помочь, проект с открытым исходным кодом здесь .

...