В чем разница между использованием MSBuild и компилятором С# из командной строки? Я хочу вручную создавать свои решения/проекты без использования Visual Studio, и я хочу узнать, как использовать инструменты командной строки.
MSBuild против компилятора
Ответ 1
С помощью компилятора С# вы имеете в виду csc.exe
?
Если это то, что вы имеете в виду, то csc
и MSBuild
- совершенно разные приложения.
MSBuild
использует файлы решений и проектов для создания файлов в вашем проекте. MSBuild
использует csc.exe
в качестве своего реального компилятора, но знает, где искать сборки, ссылки и т.д. на основе ваших решений и файлов проекта (эти файлы на самом деле являются файлами xml).
При использовании csc.exe
вам необходимо вручную указать пути к вашим файлам, ссылкам и т.д., что значительно затруднит компиляцию.
MSDN MSBuild: http://msdn.microsoft.com/en-us/library/dd393574.aspx
MSDN CSC: http://msdn.microsoft.com/en-us/library/78f4aasd.aspx
Ответ 2
MSBuild
фактически использует csc.exe
, поэтому вы можете использовать оба в командной строке. MSBuild
немного проще в использовании.
Ответ 3
В C#
ваш код сначала компилируется в код IL
, а затем JIT
компилятор компилирует ваш код в инструкции CPU. Поэтому весь компилятор должен скомпилировать ваш код в IL
.
Итак, что такое msBuild:
Microsoft Build Engine (MSBuild) - это новая платформа для создания Microsoft и Visual Studio. MSBuild полностью прозрачен с рассматривает, как он обрабатывает и создает программное обеспечение, позволяя разработчикам для организации и создания продуктов в средах лабораторных работ, где Visual Studio не установлен
См.:
Visual Studio (sln)
Если ваше решение малое, и вам не нужно делать интересные вещи, вы можете использовать бегун сборки Visual Studio (sln). Он делает то же самое, что и при создании Project- > Build (из меню VS). Этот параметр очень прост в настройке, несколько кликов и ваш сервер CI компилируют ваше решение.
MSBuild
Если вам нужно выполнять более сложные сценарии, помимо простой компиляции, например, применять различные файлы конфигурации, вставлять преобразованные значения в файл конфигурации, устанавливать двоичные файлы и т.д., вы должны выбрать вариант MSBuild. Вы узнаете, когда вам нужно это использовать, просто потому, что sln-строитель не сможет делать что-то. Этот параметр требует некоторых знаний языка сценариев сборки, который основан на задачах и xml-подобных.