2

我有两个项目需要在构建脚本期间使用 EF 4.3.1 migrate.exe 工具。指向转换后的 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 回答