ビルド スクリプト中に 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
これに似た他の投稿を見たことがありますが、これはうまくいくと言っていますが、奇妙なことにフラグがわずかに異なるため、何かが変更されたのか、タイプミスなのか疑問に思います.