2014-01-18 5 views
0

Я смотрю вокруг различных потоков NAnt vs MSBuild здесь, на переполнении стека, и до сих пор я понимаю, что они оба - Build Tools. Они используют XML для структурирования того, как происходит сборка. Кроме того, он больше подходит для VS-решений и проектов, в то время как другой - более гибкий сценарий (вы можете сделать больше с ним).Использует ли NAnt и MSBuild компилятор?

Что я озадачен о том:

Что на самом деле компилирует источник, делает MSBuild вызвать компилятор? Указывает ли NAnt вызов MSBuild для вызова компилятора?

Edit:

Will NAnt вызов MSBuild или скомпилировать C# проект через CSC напрямую?

+1

Хотя компилятор C# может быть вызван как библиотека, я ценю, что мои инструменты построения делают это через хорошо распознанный и видимый интерфейс командной строки. Оба NAnt и MSbuild имеют переключатели, чтобы показать свою многословие, чтобы вы могли точно видеть, что они делают: вызов csc.exe. (BTW-NAnt предшествует MSBuild.) –

ответ

3

Файл csproj в Visual Studio import Microsoft.CSharp.targets, который является файлом MSbuild, который содержит цель CoreCompile для выполнения компиляции. Эта цель использует задачу CSC для выполнения фактической компиляции, которая сама вызывает csc.exe.

Вы можете найти файл Microsoft.CSharp.targets в корневом каталоге фрейма, например. C: \ Windows \ Microsoft.NET \ Framework \ version \

NAnt имеет цель csc, поэтому я предполагаю, что она работает аналогичным образом.

+0

Ah ok, поэтому csc - это компилятор C#, который вызывает MSBuild. – mitchellt

+0

Я только что видел цель csc в примере NAnt: http://nant.sourceforge.net/release/0.85/help/tasks/csc.html Спасибо за вашу помощь, прояснилось! – mitchellt

Смежные вопросы