Существует ли простой / удобный способ написания сценария сборки для проекта comlex?
Я работаю над большим старым проектом. MSBuild используется в качестве движка сборки. И я вижу много файлов.proj, .bat, .sln и.csprj, используемых в процессе сборки.
Я знаю, что файлы.sln и.csprj можно относительно легко редактировать с помощью Visual Studio. Но есть ли какой-нибудь простой способ помочь написать и понять файлы.proj и.bat?
Кроме того, я теряюсь в многочисленных переменных среды, таких как $ (SolutionFolder), где я могу найти определения для них?
Большое спасибо...
2 ответа
Следующее описание основано на том, как я использовал такие файлы в проекте с открытым исходным кодом, http://code.google.com/p/lextudio/source/browse/
.sln и.csproj никогда не должны редактироваться вручную, если вас не попросят. Они должны в основном поддерживаться разработчиками через Visual Studio.
Вы должны сосредоточиться на файле.proj, где устанавливаются пользовательские цели и свойства. Обычно они создаются вручную и вызывают MSBuild для сборки.sln/.csproj ожидаемым образом.
Вы можете редактировать файлы.proj внутри Visual Studio, поскольку VS знает, что это тип сценария MSBuild.
Файлы.bat обычно являются оболочками над основным файлом.proj, чтобы позволить вам выполнить определенную цель с ожидаемыми свойствами, поэтому она может содержать только команду вызова MSBuild.exe. Я обычно использую Notepad++ для редактирования таких файлов, так как n++ обеспечивает подсветку для файлов.bat.
Многие из предопределенных свойств задокументированы Microsoft, как показывает ссылка, размещенная @mortb.
BAT-файлы являются пакетными файлами. Они содержат скрипт, который выполняется командной строкой Windows. Каждая строка содержит оператор (например, copy, execute program и т. Д.), Который можно ввести в командной строке. Я обычно редактирую файлы bat в блокноте, вы также можете редактировать их как текст в Visual Studio. Справка Windows содержит больше информации о пакетных файлах.
.proj - это общий файл проекта Visual Studio
Найти ссылку на переменные было не сложно: http://msdn.microsoft.com/en-us/library/c02as0cs.aspx
Надеюсь это поможет