Использование Microsoft.Build.Evaluation для публикации проекта базы данных (.sqlproj)

Мне нужна возможность программно опубликовать проект SSDT. Я рассматриваю возможность использования Microsoft.Build для этого, но не могу найти никакой документации. Кажется довольно простым создать.dacpac, но как мне опубликовать его в существующей базе данных или, по крайней мере, в файле.sql. Идея состоит в том, чтобы он делал то, что делает, когда я щелкаю проект правой кнопкой мыши и выбираю «Опубликовать». Он должен сравниться с выбранной базой данных и сгенерировать сценарий обновления.

Это то, что у меня есть для создания.dacpac.:

partial class DBDeploy
{
  Project project;


  internal void publishChanges()
  {
     Console.WriteLine("Building project " + ProjectPath);
     Stopwatch sw = new Stopwatch();
     sw.Start();

     project = ProjectCollection.GlobalProjectCollection.LoadProject(ProjectPath);
     project.Build();
     //at this point the.dacpac is built and put in the debug folder for the project

     sw.Stop();
     Console.WriteLine("Project build Complete.  Total time: {0}", sw.Elapsed.ToString());

  }
}

По сути, я пытаюсь сделать то, что показано в этом примере MSBuild , но в коде.

Жаль, что это все, что у меня есть. Документация по классам Build очень плохая. Любая помощь будет оценена по достоинству.

Спасибо.

14
задан RThomas 2 June 2012 в 17:26
поделиться