MSBuild — Использовать .csproj файл или самокрутку?

Да, это так. Из https://docs.python.org/3/library/multiprocessing.html#exchanging-objects-between-processes :

Очереди являются потоковыми и безопасными процессами .

blockquote>

21
задан jerhinesmith 21 October 2008 в 20:04
поделиться

7 ответов

Я рекомендовал бы использовать сгенерированные .csproj файлы - на самом деле для производства, я думаю с помощью сгенерированных .sln файлов, хорошая идея. Я нашел, что Вы будете Вы получать при помощи тех же файлов решения как разработчики.

знать, что .sln файлы не являются на самом деле допустимыми msbuild файлами проекта - они преобразовываются в msbuild проекты самим msbuild, когда они используются в качестве исходных данных. Хитрый!

Для изучения целей, можно хотеть зарегистрировать сборку .csproj, и шаг до понимают то, что продолжается. MSBuild является немного большим количеством описания, чем nant хотя, поэтому не торопитесь и экспериментируйте немного.

Наконец, я обернул бы Ваш .sln или .csproj файлы в непрерывном проекте сценария сборки с msbuild задачами разработать Ваши проекты и выполнить Ваши модульные тесты вместе. Таким образом, разработчики не должны выполнять модульный тест каждый раз, когда они создают - но каждый раз, когда они интегрируют свой код, который выполнят модульные тесты. И да, удостоверьтесь, что они работают быстро! Что-нибудь, что берет больше, чем секунда, должно быть выполнено во время запланированного (ночью?) создают вместо этого. Вероятно, они - меньше модульных тестов и больше интеграционных тестов, записанных с платформой модульного теста, если они берут больше, чем секунда.

Редактирование: Некоторая информация о дополнении я нашел, что нашел полезными - использование MSBuild 3.5 позволит Вам получать целевой вывод из .sln файла, в то время как эта информация не возвращается в MSBuild 2.0 (хотя я думаю, что это должно работать на .csproj файлы в обеих версиях). Можно использовать вывод (созданные файлы) как исходные данные к платформе поблочного тестирования.

13
ответ дан 29 November 2019 в 21:47
поделиться

Оставьте csproj файл хорошо одним (как Вы говорите, Вы не понимаете это).

Создают Ваш собственный msbuild proj файл и называют csproj (или sln) от Вашего основного файла типа "build" через msbuild задачу. Скажите Вашему серверу CI создавать свой файл типа "build".

Это разделение помогает добавить Ваше собственное пред и задачи сообщения (модульные тесты, сценарии SQL испытания с помощью дыма, fxcop/other статический анализ, и т.д.), и Вы не повредите свою рабочую среду. Это также означает, что можно сделать пользовательские цели в том, чего Вы желаете (msbuild/ant, и т.д.) Взглянули как MSBuildContrib на codeplex для дополнительного совершенства.

Вам не нужен визуальный stuido на Вашем сервере сборки (если у Вас нет проектов развертывания, если это не было также изменено, так как я в последний раз смотрел)

4
ответ дан 29 November 2019 в 21:47
поделиться

Создайте свой собственный файл проекта (что-либо, что заканчивается *proj, считается файлом проекта MSBuild), и назовите свою сборку оттуда. Как это:

<MSBuild Projects="MySolution.sln" Targets="Clean; Rebuild" Properties="Configuration=$(BuildMode);">

Примечание, что msbuild может также создать .sln (файл решения) без любых изменений, который обычно легче, чем наличие набора csproj файлов...

3
ответ дан 29 November 2019 в 21:47
поделиться

Я использую и NAnt и MSBuild. NAnt был обновлен с NAntContrib так, чтобы я добрался msbuild taks. Я могу быть временной установкой, но до сих пор я не работал в основных проблемах. Это сказало, что я также не создаю новый csproj файл, потому что я использую тот же csproj/sln, который я использую в VS2008. Строительные проекты с msbuild значительно упростили сценарии NAnt прежней версии (мы использовали задача csc ).

Примечания:

  1. при использовании Windows Workflow Foundation в проектах, Вы испытаете главные затруднения, разрабатывают такой проект без msbuild.
  2. не устанавливают VS.NET на Вашей машине сборки. Можно использовать , Wix действительно создает установку msi.
  3. @Franci Penov: Рабочие модульные тесты ДОЛЖНЫ быть частью каждой сборки. Вы действительно хотите ожидать до завтра для нахождения ошибки? Существует примечание стороны: Модульные тесты должны работать очень быстро.
2
ответ дан 29 November 2019 в 21:47
поделиться

Я лично думаю, что нормально идти с .csproj файлом. Нет так большого продолжения там, что Вы не должны были бы добавлять себя при прокрутке собственного проекта MSBuild.

Однако безотносительно маршрута Вы решаете пойти, я все еще рекомендовал бы не добавить MbUnit как часть Вашего шага сборки, но добавить его как отдельный шаг в CC.Net. Рабочие модульные тесты должны быть частью ежедневного цикла CI; однако, это не должна быть часть каждой сборки.

1
ответ дан 29 November 2019 в 21:47
поделиться

Хорошо, немного вещей не упустить. Формат csproj изменился от VS2005 до VS2008. Также, если Вы идете с MSBuild, помните, что Вы не будете в состоянии создать .vdproj (установка) файлы; для этого Вам нужен devenv (исполняемый файл VS). Это сказало, что можно всегда создавать задачу MSBuild, которая называет devenv и создает его для Вас.

Что касается Вашего вопроса, создать ли Ваш собственный csproj файл или использовать тот, созданный VS2005, я предложил бы среднюю дорогу: создают Ваш собственный шаблон проекта , который угождает Вашим потребностям, и позвольте VS заботиться об остальных.

0
ответ дан 29 November 2019 в 21:47
поделиться

Нормально использовать .csproj в качестве входа для msbuild. Можно вручную добавить задачи для него в csproj, который будет проигнорирован во время завершения из VS. Но если Вы собираетесь сделать некоторых не тривиальным материалом, лучше создать сценарии отдельного msbuild. И на них можно сослаться из csproj файлов. Вы взглянули на Сервер Сборки MS, который является частью TFS? Это интегрируется с SourceControl TFS и могло использоваться для CI. Его файлы проекта являются msbuild сценариями.

, Если я действительно использовал nAnt, требуется, что VS должен быть установлен на сервере? Вы имели в виду 'MSBuild'? Нет, это не должно обязательно устанавливать VS для использования msbuild с csproj файлами.

0
ответ дан 29 November 2019 в 21:47
поделиться
Другие вопросы по тегам:

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