ASP.NET MVC Web部署 - 未生成MigrateDatabaseToLatestVersion

时间:2014-08-13 10:40:47

标签: asp.net asp.net-mvc iis ef-code-first ef-migrations

我使用的是VS2013 Professional,我有两个独立的ASP.NET MVC项目,都是在VS2013 Pro中从头开始创建的。

两者都使用Code First来管理数据库,并且都通过" Enable-Migrations"在程序包管理器控制台中。在IIS上安装应用程序时,需要对数据库进行一些更改。为此,我想使用Code First Migrations来执行数据库更新。

我遇到的问题是当我将每个项目发布到" Web部署包"我检查"执行代码优先迁移(在应用程序启动时运行)"复选框,我在生成的ZIP包中得到的结果略有不同

不同之处在于,一个项目上的web.config文件包含<add>_DatabasePublish的{​​{1}}对象以及{{1}内的<connectionStrings> databaseInitializer如预期的那样。

但是,其他项目不包含这些附加元素中的任何一个,这意味着在部署到IIS时不会进行数据库更改。

我已经比较了两个项目的设置,但似乎无法解决为什么输出存在差异。我可以让失败的项目输出所需的XML的唯一方法是更改​​&#34;配置&#34;来自&#34; Debug&#34;的发布向导中的下拉列表到&#34;发布&#34;。这不是理想的,因为我想将配置保留为&#34; Debug&#34;在这种情况下(我发布到UAT并希望能够轻松调试问题)。我意识到只要我已经部署到IIS但我更愿意依赖VS为我输出正确的XML,我可以简单地添加调试参数。

正在按预期工作的应用程序成功输出正确的XML,无论配置是否为&#34; Debug&#34;或&#34;发布&#34;。

我想我必须遗漏一些内容,以便了解有关在失败项目中限制正确XML的内容的任何指示。

0 个答案:

没有答案