今までFluentMigratorはコマンドプロンプトから起動していましたが、少々面倒でした。
そこでVisualStudioで使う方法がないかを探したところ、以下のブログがありました。
Launch FluentMigrator from within Visual Studio - Thomas Van Machelen's adventures in code
しかし、MS Accessで試してみて悩んだところがあったため、メモを残しておきます。
環境
- .NET Framework 4.5
- FluentMigrator 1.3.0.0
- MS Access (*.accdb)
流れ
大まかな流れは上記のブログポストと同じです。
NuGetでインストール
今回は Fluent Migrator Toolsをインストールします。

プロジェクトへ追加
必要なライブラリをプロジェクトへ追加します。
プロジェクトの上で右クリック、追加 -> 既存の項目の追加を選択し、Migrate.exeとFluentMigrator.Runner.dllをリンクとして追加します。

なお、MS Access x86版をインストールした端末で実行しようとすると、「'Microsoft.ACE.OLEDB.12.0' プロバイダはローカルのコンピュータに登録されていません」エラーが発生しました。
どこかで見たようなエラーだと思って探してみると、自分のブログに書いてありました。
'Microsoft.ACE.OLEDB.12.0' プロバイダはローカルのコンピュータに登録されていません - メモ的な思考的な
そのため、AnyCPUフォルダのものではなく、x86フォルダのライブラリを追加してみたところ、問題なく動作しました。
ちなみに、FluentMigratorのx86版は以下のところにありました。
path\to\project_root\packages\FluentMigrator.Tools.1.3.0.0\tools\x86\40
リンクして追加したファイルのプロパティ変更
続いて、リンクとして追加した上記2ファイルのプロパティを以下の通りに変更します。
| プロパティ | 値 |
|---|---|
| 出力ディレクトリにコピー | 常にコピー |
| ビルドアクション | なし |
出力ディレクトリに常にコピーするとすることで、FluentMigratorのライブラリを使えるようになります。
また、ビルドアクションをなしにしないと、VisualStudioに以下の警告が残ったままになります。
MSB3178: アセンブリ ‘‘ はファイルとして正しく指定されていません。 | あいしん スタッフぶろぐ
外部ツールの設定内容
メニューのツール > 外部ツール にて、外部ツールを追加します。
なお、外部ツールの引数($(BinDir)など)として設定可能なものは、以下に記載がありました。
外部ツールの引数 - MSDN
参考ブログと異なり、今回は接続文字列を外部コマンド引数として与えてみました。
| 項目 | 値 |
|---|---|
| タイトル | Development_FluentMigrator_Up |
| コマンド | $(BinDir)\Migrate.exe |
| 引数 | --conn "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\path\to*.accdb" --provider jet --a $(TargetName)$(TargetExt) --verbose=true |
| 初期ディレクトリ | $(BinDir) |
設定後、OKボタンを押すと
このコマンドは有効な実行ファイルではありません。コマンドを変更しますか?
と表示されますが、参考ブログに従い、 いいえ を選択します。

ここまでで、VisualStudioのメニューのツールの下に「Development_FluentMigrator_Up」が表示され、FluentMigratorを実行できるようになります。
なお、今回はFluentMigratorのMigrateだけを記載しましたが、同じ方法でRollbackも用意しておくと便利です。
ショートカットを作成する
ショートカットを作れば手軽にマイグレーションできるため、作成しておきます。
メニューより、 ツール > オプション を選択します。
オプション画面では、左側の 環境 > キーボード を選択します。
右側に設定画面が出るため、
- 「以下の文字列を含むコマンドを表示」に
ツール.外部コマンドを入力 - 外部コマンド1が一番上の外部コマンドに該当するようなので、
ツール.外部コマンド1を選択し、ショートカットキー欄でCtrl + K、Mの順で入力 - よければ、「割り当て」ボタンを押す
- 最後に「OK」ボタンを押す
と設定します。
参考: 方法: アクセス キーとショートカット キーを外部ツールに割り当てる *1

あとは、ショートカットキーを押して実行すると、出力ウィンドウにFluentMigratorのログが表示されます。
*1:「このドキュメントはプレビュー版であり、後のリリースで変更されることがあります」と記載がありますが、正式版っぽいのは機械翻訳で分かりにくかったです - 方法: Visual Studio から外部ツールを実行する - MSDN