Как выполнить задачи параллельно в MSBuild

    1. загрузите cygwin 2. на странице «Выбрать пакеты» выберите «Категория» в представлении (вверху слева). 3. отметьте «Devel» на «Install» (вы измените «По умолчанию» для «Установить» 4. отметьте «Python» на «Install» 5. из «Web» выберите «wget» 6. из «Net» выберите «Openssh» 7. прогресс для установки пакетов с помощью «Next» 8 перейдите в папку назначения, где вы установили cygwin 9. щелкните правой кнопкой мыши «Cygwin.bat» и запустите в качестве администратора 10. напишите «easy_install-2.7 pip» 11. напишите «pip2 install ansible»

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

  1. rebase-trigger full
  2. закройте оболочки Cygwin (или даже перезагрузите ваши окна)
  3. снова запустите программу установки Cygwin и просто нажмите «Далее», пока вы не дойдете до конца установки, а затем Cygwin переустановит все пакеты.

После этого вы можете использовать недоступную без проблем (надеюсь, у вас будет такая же ситуация, как и я, поскольку она работает для меня)

I t потратил много дней на поиск и попытку решить проблему установки на Windows 10 Home Edtion

30
задан Pete Montgomery 15 June 2009 в 16:26
поделиться

3 ответа

Как уже было сказано, вы не можете распараллелить на уровне задачи или даже на целевом уровне. Только MSBuild будет строить проекты (т.е. файлы проектов MSBuild) параллельно. Поэтому вы должны использовать задачу MSBuild с указанием нескольких проектов, а для атрибута BuildInParallel должно быть установлено значение true. Также убедитесь, что при сборке из командной строки вызывается ключ / m.

Сайед Ибрагим Хашими

Моя книга: Внутри Microsoft Build Engine: использование MSBuild и Team Foundation Build

16
ответ дан Sayed Ibrahim Hashimi 11 October 2019 в 13:13
поделиться

Я не думаю, что есть способ сделать это, кроме как использовать какой-то внешний инструмент. Я подозреваю, что это связано с тем, что это создает потенциальные проблемы с зависимостями, которые MS решает пока игнорировать, позволяя сторонним поставщикам инструментов решить эту проблему (и заплатить за нее немалые деньги).

3
ответ дан Paul Sonier 11 October 2019 в 13:13
поделиться

MSBuild имеет переключатель командной строки /m, чтобы указать максимальное количество одновременных процессов для сборки. Значение по умолчанию равно 1. /m:x будет использовать x процессов. /m будет использовать количество процессоров на компьютере.

Я использовал это как часть ярлыка в Visual Studio для более быстрого запуска сборок путем параллельной компиляции проектов. Скотт Хансельман имеет несколько сообщений об этом здесь и здесь .

6
ответ дан Ruben Bartelink 11 October 2019 в 13:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: