Да, это так. Из https://docs.python.org/3/library/multiprocessing.html#exchanging-objects-between-processes :
Очереди являются потоковыми и безопасными процессами .
blockquote>
Я рекомендовал бы использовать сгенерированные .csproj файлы - на самом деле для производства, я думаю с помощью сгенерированных .sln файлов, хорошая идея. Я нашел, что Вы будете Вы получать при помощи тех же файлов решения как разработчики.
знать, что .sln файлы не являются на самом деле допустимыми msbuild файлами проекта - они преобразовываются в msbuild проекты самим msbuild, когда они используются в качестве исходных данных. Хитрый!
Для изучения целей, можно хотеть зарегистрировать сборку .csproj, и шаг до понимают то, что продолжается. MSBuild является немного большим количеством описания, чем nant хотя, поэтому не торопитесь и экспериментируйте немного.
Наконец, я обернул бы Ваш .sln или .csproj файлы в непрерывном проекте сценария сборки с msbuild задачами разработать Ваши проекты и выполнить Ваши модульные тесты вместе. Таким образом, разработчики не должны выполнять модульный тест каждый раз, когда они создают - но каждый раз, когда они интегрируют свой код, который выполнят модульные тесты. И да, удостоверьтесь, что они работают быстро! Что-нибудь, что берет больше, чем секунда, должно быть выполнено во время запланированного (ночью?) создают вместо этого. Вероятно, они - меньше модульных тестов и больше интеграционных тестов, записанных с платформой модульного теста, если они берут больше, чем секунда.
Редактирование: Некоторая информация о дополнении я нашел, что нашел полезными - использование MSBuild 3.5 позволит Вам получать целевой вывод из .sln файла, в то время как эта информация не возвращается в MSBuild 2.0 (хотя я думаю, что это должно работать на .csproj файлы в обеих версиях). Можно использовать вывод (созданные файлы) как исходные данные к платформе поблочного тестирования.
Оставьте csproj файл хорошо одним (как Вы говорите, Вы не понимаете это).
Создают Ваш собственный msbuild proj файл и называют csproj (или sln) от Вашего основного файла типа "build" через msbuild задачу. Скажите Вашему серверу CI создавать свой файл типа "build".
Это разделение помогает добавить Ваше собственное пред и задачи сообщения (модульные тесты, сценарии SQL испытания с помощью дыма, fxcop/other статический анализ, и т.д.), и Вы не повредите свою рабочую среду. Это также означает, что можно сделать пользовательские цели в том, чего Вы желаете (msbuild/ant, и т.д.) Взглянули как MSBuildContrib на codeplex для дополнительного совершенства.
Вам не нужен визуальный stuido на Вашем сервере сборки (если у Вас нет проектов развертывания, если это не было также изменено, так как я в последний раз смотрел)
Создайте свой собственный файл проекта (что-либо, что заканчивается *proj, считается файлом проекта MSBuild), и назовите свою сборку оттуда. Как это:
<MSBuild Projects="MySolution.sln" Targets="Clean; Rebuild" Properties="Configuration=$(BuildMode);">
Примечание, что msbuild может также создать .sln (файл решения) без любых изменений, который обычно легче, чем наличие набора csproj файлов...
Я использую и NAnt и MSBuild. NAnt был обновлен с NAntContrib так, чтобы я добрался msbuild taks. Я могу быть временной установкой, но до сих пор я не работал в основных проблемах. Это сказало, что я также не создаю новый csproj файл, потому что я использую тот же csproj/sln, который я использую в VS2008. Строительные проекты с msbuild значительно упростили сценарии NAnt прежней версии (мы использовали задача csc ).
Примечания:
Я лично думаю, что нормально идти с .csproj файлом. Нет так большого продолжения там, что Вы не должны были бы добавлять себя при прокрутке собственного проекта MSBuild.
Однако безотносительно маршрута Вы решаете пойти, я все еще рекомендовал бы не добавить MbUnit как часть Вашего шага сборки, но добавить его как отдельный шаг в CC.Net. Рабочие модульные тесты должны быть частью ежедневного цикла CI; однако, это не должна быть часть каждой сборки.
Хорошо, немного вещей не упустить. Формат csproj изменился от VS2005 до VS2008. Также, если Вы идете с MSBuild, помните, что Вы не будете в состоянии создать .vdproj (установка) файлы; для этого Вам нужен devenv (исполняемый файл VS). Это сказало, что можно всегда создавать задачу MSBuild, которая называет devenv и создает его для Вас.
Что касается Вашего вопроса, создать ли Ваш собственный csproj файл или использовать тот, созданный VS2005, я предложил бы среднюю дорогу: создают Ваш собственный шаблон проекта , который угождает Вашим потребностям, и позвольте VS заботиться об остальных.
Нормально использовать .csproj в качестве входа для msbuild. Можно вручную добавить задачи для него в csproj, который будет проигнорирован во время завершения из VS. Но если Вы собираетесь сделать некоторых не тривиальным материалом, лучше создать сценарии отдельного msbuild. И на них можно сослаться из csproj файлов. Вы взглянули на Сервер Сборки MS, который является частью TFS? Это интегрируется с SourceControl TFS и могло использоваться для CI. Его файлы проекта являются msbuild сценариями.
, Если я действительно использовал nAnt, требуется, что VS должен быть установлен на сервере? Вы имели в виду 'MSBuild'? Нет, это не должно обязательно устанавливать VS для использования msbuild с csproj файлами.