msbuild, поддержка сборок вне исходного кода - PullRequest
1 голос
/ 10 января 2011

Возможно ли использовать MSBuild для создания сборок вне исходного кода: сборка вне исходного каталога?

Это стандартная вещь в некоторых других системах сборки, таких как Autotools или CMake .Они полезны, когда вы хотите поэкспериментировать с опциями сборки или поделиться одним исходным деревом (которое может быть огромным).

Для тех, кто спрашивает, зачем нужна такая вещь: с этим я могу сделать извлечение (4 ГБ здесь), сделайте одну сборку, вернитесь к какой-то конкретной ревизии и сделайте другую сборку, не выбрасывая первую.Или я могу сделать одноразовую конфигурацию с некоторыми пользовательскими настройками, не задумываясь о том, чтобы просмотреть все параметры конфигурации в VS.Или разделите проверку между несколькими автоматическими сборщиками.

Я знаю, что могу определить отдельные конфигурации с разными путями, но это обременительно (особенно при работе с несколькими проектами), и эти конфигурации будут распространяться на других разработчиков (что я хотел быхотел бы избежать при экспериментировании) с общими операциями VCS.

1 Ответ

0 голосов
/ 12 января 2011

Одним из возможных решений может быть перемещение ваших настроек в отдельный файл .target.Если вы хотите поэкспериментировать с ними, вы можете заменить файл .target на любой другой, в то время как другие разработчики могут использовать конфигурацию по умолчанию .target.


Я до сих пор не уверен, что и почему ваши источникиявляются проблемой, поскольку вы могли бы экспортировать их в настраиваемый путь сборки.Это потому, что экспорт источников в экспериментальную сборку займет слишком много времени?Не могли бы вы использовать предварительно созданные общие компоненты для экспериментальной сборки?


Я подозреваю, что у вас есть ограничения по сроку действия, потому что вы используете MSBuild в качестве CLI для ваших решений Visual Studio.По общему признанию MSBuild требует значительных усилий для удовлетворения гибких и сложных требований.Возможно, вам нужна система непрерывной интеграции, такая как CruiseControl (просто так), потому что она предлагает простоту использования и гибкость, к которым вы привыкли из Autotools и CMake.Если «бесплатно» не является одним из ваших требований, Team Foundation Server может быть для вас возможностью использовать MSBuild.

4 ГБ - это огромные ресурсы, поэтому любому конкретному инструменту придется обходить все эти вещи, чтобы оставаться быстрым.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...