"Идеальная" среда разработки .NET?

Мне дали ранний рождественский подарок:
  Разрешение выйти из цикла разработки на реорганизовать и документ наше приложение.
  У меня есть полная свобода для реструктуризации, реорганизации и создания любой инфраструктуры, которую я считаю нужным.

Если у вас carte blanche, какая ваша "идеальная" среда разработки .NET?

О приложении:
VB.NET клиент-серверное приложение. (Внешний интерфейс Windows Forms, веб-службы ASPX)   В настоящее время используется Visual Studio и SQL Server 2003 и... Visual SourceSafe.

Я хотел бы иметь некоторую комбинацию:
* Улучшение версий. (склоняется к Subversion)
* Wiki или другая система для отслеживания ошибок и документации. (склоняется к Trac с Subversion)
* Упрощенный процесс сборки и ежедневные сборки (Visual Build? CruiseControl.NET?)
* Управление версиями для базы данных SQL Server
* Обновление до Visual Studio 2005 (или 2008)?

... для небольшой команды из 5 или около того разработчиков

Ответ 1

Я рекомендую следующие инструменты (главным образом потому, что это то, что мы используем):

Мы работаем на наших локальных машинах и имеем отдельный сервер сборки, который контролирует репозиторий Subversion (используя CruiseControl.NET) и строит последнюю версию на этом сервере.

Мы используем "Задачи сообщества MSBuild" для встраивания номера версии Subversion в сборку, чтобы мы могли отображать ее пользователю.

Самые большие "дыры", которые мы имеем в нашей установке на данный момент, находятся в базе данных и в нашем автоматизированном тестировании.

В настоящее время мы все запускаем центральный сервер базы данных. В идеале вам следует работать с script, который воссоздает вашу базу данных под контролем источника. Из того, что я собираю, каждый раз, когда сервер сборки перестраивает сайт, он также должен перестраивать базу данных. Вы также должны иметь script, который будет генерировать любые тестовые данные, которые вы хотите в базе данных.

С построением базы данных, подобным этому, вы также можете работать с локальной копией базы данных.

Возможно, вы захотите взглянуть на SQL Toolbelt (или его части) из Red Gate - мы используем SQL Compare инструменты для развертывания схем для живых серверов, и я действительно впечатлен ими.

Удачи!

Ответ 2

Я думаю, вы все склоняетесь в правильном направлении.

Перейдите в Visual Studio 2008. Он очень стабилен с SP1, и вы можете настроить таргетинг как на версии 2, так и на версию 3 платформы .NET.

Ответ 3

Независимо от того, сколько времени и мысли вы вложили в это, вы, вероятно, никогда не закончите "идеальную" среду. Каждый инструмент имеет свои собственные кварки и проблемы. Тем не менее, здесь есть пища для размышлений:

Перейдите к последней и самой большой версии Visual Studio, Visual Studio 2008 SP1.

Если вы являетесь подписчиком MSDN и приобрели Системную версию Team Visual Studio, вы можете установить Team Foundation Server (TFS), TFS - довольно гладкий продукт, интегрированный в Visual Studio. Он использует Windows Sharepoint Services (WSS), который даст вам возможность иметь wiki, репозитории документов и т.д. (В основном, урезанная версия Microsoft Office SharePoint Server). TFS также предоставит вам новейшую версию Visual SourceSafe, с которой у меня не было никаких проблем, и Microsoft говорит о том, что она может масштабироваться до сотен тысяч пользователей. Версия TFS Workgroup позволит вам использовать до 5 разработчиков без покупки лицензии. Выше 5 пользователей, и вам придется приобретать лицензии. Я также уверен, что вам придется использовать SQL Server 2005 для запуска TFS, но я могу ошибаться. У нас есть TFS, установленный на одном ящике (наш ящик для разработчиков), и проблем не было.

  SO TFS предоставит вам:

  • Сотрудничество
  • Контроль версий
  • Отчет о статусе проекта
  • Отслеживание ошибок
  • Интеграция в Visual Studio
  • Много других лакомств

Для ежедневных и непрерывных сборок я склоняюсь к CruiseControl.NET (CC.NET). Мы попытались использовать систему сборки, встроенную в TFS, но столкнулись со многими и многими проблемами (я думаю, в основном из-за того, как структурируются наши проекты). CruiseControl.NET был легким для установки и настройки, и работает как чемпион. Вы можете настроить его для непрерывного построения (каждая регистрация запускает сборку) и ежедневные сборки. Возможно, вам придется найти некоторые способы извлечения, чтобы CruiseControl.NET выполнял некоторые из более сложных задач (например, остановка службы и т.д.), Но она не смогла сделать ничего, что мне было нужно. Он также довольно расширяемый, поэтому вы можете написать код, чтобы он делал то, что вам нужно, что является приятной особенностью.

Не уверен в версировании базы данных, но я предполагаю, что вы можете использовать TFS Source Safe для этого.

Удачи!

Ответ 4

В любой идеальной среде разработки .NET была бы установлена ​​копия ReSharper. Я недавно конвертировал, и мне это нравится.

Ответ 5

Я бы проголосовал за Team Foundation Server. Тогда у вас есть контроль источника, автоматические сборки и (вид) отслеживания ошибок в одном пакете, который очень хорошо сочетается с VS 2008. Однако он имеет довольно крутую цену.

Ответ 6

Мои предпочтения относятся к Visual Studio 2008/Subversion/Trac/Anck and Tortoise/CruiseControl.NET (TeamCity/Bitten).

Я не говорю TFS - отличный продукт, но я думаю, что он "громоздкий". Недавно я переключился с решения Trac/Subversion на TFS, и я предпочел первую настройку. Есть подробности, но с ними приятно работать.

Пример:

  • TFS отправляет письма для проверок и сборок, в Trac есть легкий timeline фид. (Для TFS существует обходные пути.)
  • когда есть новый checkin, нажмите ссылку (из фида), и вы находитесь в среде Trac. Вы видите хороший diff с предыдущим chancgeset. (где в TFS?)
  • Интегрированная вики - очень приятная среда для внутренней документации.
  • IntelliSense в клиенте Tortoise для комментариев.
  • хороший веб-интерфейс для просмотра источника, обновления документации (было легко, когда я был дома).
  • ...

Маленькие детали делают это намного приятнее для меня.

Я также говорю, что команда была маленькой (также 5 разработчиков), и вам нужно некоторое время для настройки. Я согласен, что когда вы работаете с более крупными командами, TFS может быть предпочтительнее.

Ответ 8

Моя рекомендация для IDE и контроля источника:

  • VS2008 с пакетом обновления 1 (SP1)
  • SubVersion, TortoiseSVN (для Windows Explorer) и AnkhSVN (для VS2008)

Ответ 9

Я недавно перешел в SourceGear Fortress. Это недорого, быстро и надежно.

Мне нравится TFS для более крупных команд (более 20 разработчиков). Я только начинаю мочить ноги с помощью Subversion, поэтому мне еще нечего делиться, за исключением того, что было довольно легко настроить его.

Trac, однако, было очень сложно запустить. Это вопрос документации, хотя и не самого продукта.

Ответ 10

Мои варианты:

Улучшение версий.

Я бы выбрал SourceGear Vault - прочный, работает как шарм, ваш источник хранится в базах данных SQL Server → может быть легко скопирован и не является flaky, как Visual SourceSafe.

Wiki или другая система для отслеживания ошибок и документации.

Из моего личного опыта: FogBugz - ваш лучший выбор - простой, легкий, быстрый способ схватить, выполняет работу красиво, просто работает, и все просто "получают" без длительной и дорогостоящей адаптации/настройки и без большой подготовки - просто работают: -)

Упрощенный процесс сборки и ежедневные сборки (Visual Build? CruiseControl.NET?)

CruiseControl.NET - отличный бесплатный вариант - если вы не возражаете, чтобы ускорить бит $$$, я бы также посмотрел на FinalBuilder - либо на настольном, либо на серверном приложении.

Контроль версий базы данных SQL Server

- > используйте Vault! Работает точно так же. Используйте отличный инструмент, такой как Apex SQL Scripter или что-то похожее на создание и поддержку SQL для создания и обновления схемы базы данных, и поместите эти сценарии SQL в хранилище.

Обновление до Visual Studio 2005 (или 2008)?

Переход с Visual Studio 2008 с пакетом обновления 1 (SP1) на .NET 3.5 SP1 - прочный и полный новых функций производительности.

Просто мои $0.02

Ответ 11

Мы используем SourceGear Vault для контроля версий, и это хорошо работает для нас как небольшая команда.

Для отслеживания проектов/ошибок/поддержки мы используем OnTime 2008 от AxoSoft.

Мы также используем ScrewTurn Wiki для документирования процедур и примера кода/лучших практик.

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

И определенно используйте Visual Studio 2008. В версии 2005 года действительно было много проблем для крупных проектов VB (по крайней мере для нас).

Ответ 12

Я согласен с VS2008 с SP1, SVN (с Ankh и Tortoise)

Посмотрите sandcastle/docproject для создания документации.

CruiseControl работает хорошо.

Что касается sourcecontrol для баз данных, вы можете использовать тип проекта базы данных в VS2008 и использовать SVN (или другое решение для управления версиями по вашему выбору), чтобы поддерживать это под контролем источника.

Ответ 13

Мы используем Subversion с Jira для отслеживания ошибок, управления проектами, FishEye and Crucible для просмотра исходного кода и обзора кода, и это работает очень хорошо.

Мы - команда из 12 разработчиков. Мы долгое время являемся пользователями FinalBuilder, которые мы используем для создания всех построек и автоматического развертывания - сочетание VB.NET и Visual Studio 2008 проектов, и он работает исключительно хорошо для нас. Мы нацеливаем базы данных SQL Server 2005/2008 и сохраняем объекты базы данных в репозитории управления версиями. В большинстве случаев мы используем Visual Studio 2008 Database Edition в сочетании с инструментами от Redgate, и это очень хорошо работает для нас - особенно для управления сценариями изменений и другими материалами. Для нас TFS просто не сработало - хотя ваш пробег может измениться. Мы обнаружили, что это слишком громоздко, трудно настроить рабочий процесс, а вместо того, чтобы помогать в рабочем процессе, имела плохую тенденцию мешать.

Ответ 14

Очень да на VS 2008 с SP1. Я также очень рекомендую:

  • ReSharper
  • SourceGear Vault (абсолютно нулевая кривая обучения, исходящая от VSS, со всеми преимуществами SVN)

Ответ 15

Я слышал много хорошего о TFS; однако есть также фактор стоимости. Перечисленные вами инструменты очень хорошо работают друг с другом и являются бесплатными.

Одно добавление, которое я сделал бы, это TortoiseSVN для клиента Subversion. Пуристам это не нравится, но тот факт, что он интегрируется с контекстными меню оболочки Windows (щелчки правой кнопкой мыши), делает его очень простым в использовании.

Для версий SVN перейдите к выпуску 1.6, который вышел недавно. В этой версии улучшены ветвление и слияние.

Trac - отличный инструмент. Обязательно прочитайте TracWiki и TracLinks правила форматирования ваших сообщений о передаче SVN. Trac анализирует эти сообщения, поэтому, если вы совершаете исправление для Ticket 123, добавление "# 123" в сообщение SVN позволяет Trac связывать эту фиксацию (и все связанные с ней файлы) с соответствующими билетами Trac. Это становится особенно полезным, если и когда вы решите перейти к дельта-релизам.