Я прочитал довольно много вопросов о том, как обновить базу данных для разработчика и тому подобное, и я склоняюсь к использованию migratordotnet или чего-то подобного, однако, похоже, что обновления должны быть работать с чем-то вроде MSBuild или NAnt. Это не то, чего я должен ожидать от конечного пользователя.
В идеале процесс должен заключаться в том, чтобы пользователь установил новую версию приложения, запустил ее и позаботился обо всем за сценой. В зависимости от того, сколько времени занимает процесс, я могу отображать или не отображать индикатор выполнения, а затем все готово, использование приложения обычно блаженно не осознает, что есть такие вещи, как sql, msbuild, реляционная база данных или что-либо, даже удаленно техническое звучание.
Другая разная информация:
SQLCE, установленный xcopy.
Однопользовательская база данных, которая, скорее всего, не должна быть слишком большой.
Релизы будут довольно частыми, так как программа будет развиваться через пользовательский ввод запрашиваемых функций.
Первоначальный выпуск еще не завершен, поэтому
не нужно беспокоиться о каких-либо
текущие данные, просто нужно безболезненно
процесс для начального и последующего
релизы (для конечного пользователя,
желательно и для меня!).
Использование LINQ to SQL в качестве ORM. (Я
сначала обновите базу данных, затем
запустить SQLMetal для регенерации
занятия?)
Выполнение TDD (впервые) и
интересно как автоматизировать тестирование
обновления.
Visual C # Express, поэтому нет VS
плагины.
Edit:
Я предполагаю, что MSBuild поставляется с .NET Framework, а не только с VS, так что я полагаю, что это не проблема, и я могу просто использовать migratordotnet и просто использовать оболочку для msbuild. При необходимости я, возможно, мог бы перенаправить вывод на консоль и выполнить некоторый наивный анализ строки, чтобы получить информацию о прогрессе, но я прибегну к этому, если, похоже, это займет достаточно много времени, чтобы гарантировать отображение реального прогресса, а не просто индикатор хода выполнения.