2

ビルド スクリプト中に EF 4.3.1 migrate.exe ツールを使用する必要がある 2 つのプロジェクトがあります。ビルド サーバーとは別のサーバーにデプロイされている、変換された web.config を指すのは面倒なので、接続文字列をフラグとして渡したいと思います。

考えられるすべてのバリエーションを試しました (さまざまなコンピューター、SQL Server 2008、.bat ではなくコマンド ラインのみ、管理者として実行するなど) が、常にエラーが発生します: エラー: 例外がスローされました呼び出しのターゲットによって。

ローカル コンピューターで試した .bat ファイルの例を次に示します。

@rem run_db_migrations.cmd
SET StartUpDirectory=%CD%\MyProject.MVC\bin 
SET ConnectionString=Data Source=.\SQLEXPRESS;Initial Catalog=MyProject;Integrated Security=True
SET ConnectionStringProvider=System.Data.SqlClient
SET MigrateExe=.\packages\EntityFramework.4.3.1\tools\migrate.exe

%MigrateExe% MyProject.MVC.dll /StartUpDirectory:"%StartUpDirectory%" /ConnectionString:"%ConnectionString%" /connectionProviderName:%ConnectionStringProvider%
pause

これに似た他の投稿を見たことがありますが、これはうまくいくと言っていますが、奇妙なことにフラグがわずかに異なるため、何かが変更されたのか、タイプミスなのか疑問に思います.

4

1 に答える 1

1

パラメーターを介して接続文字列をmigrate.exeに上書きする方法について、同様の質問に答えました。ただし、web/app.config ファイルを指定せずに動作させるにはまだ必要です。

https://stackoverflow.com/a/14138797/134761

于 2013-01-03T12:38:54.450 に答える