43

我一直在使用Visual Studio 2012 RC与试用许可证没有问题。我昨天购买了Visual Studio 2012 Professional,安装了最新版本,并安装了更新1.EF5迁移更新数据库脚本错误

我有一个解决方案/项目,我一直在努力多年。它有很多迁移。我在这个最新版本中运行了我的第一个add-migration TableX_NewFieldupdate-database -sourcemigration:TableX_PreviousNewField

它们都运行没有问题。

然后我跑update-database -script -sourcemigration:TableX_PreviousNewField并取得了以下:

PM> update-database -script -sourcemigration:TableX_PreviousNewField 
Applying code-based migrations: [201301151003149_TableX_NewField]. 
Applying code-based migration: 201301151003149_TableX_NewField. 
System.Runtime.InteropServices.COMException (0x8004000C): User canceled out of save dialog (Exception from HRESULT: 0x8004000C (OLE_E_PROMPTSAVECANCELLED)) 
    at EnvDTE.ItemOperations.OpenFile(String FileName, String ViewKind) 
    at System.Data.Entity.Migrations.Utilities.DomainDispatcher.OpenFile(String fileName) 
    at System.Data.Entity.Migrations.Utilities.DomainDispatcher.OpenFile(String fileName) 
    at System.Data.Entity.Migrations.Extensions.ProjectExtensions.NewSqlFile(Project project, String contents) 
    at System.Data.Entity.Migrations.UpdateDatabaseCommand.<>c__DisplayClass2.<.ctor>b__0() 
    at System.Data.Entity.Migrations.MigrationsDomainCommand.Execute(Action command) 
User canceled out of save dialog (Exception from HRESULT: 0x8004000C (OLE_E_PROMPTSAVECANCELLED)) 

我已经跑了Windows更新。使用NuGet检查更新。重新启动我的电脑。仍然有错误。

+0

除了NuGet之外,还安装了其他Visual Studio扩展吗? – bricelam

+0

另外,你有没有尝试修复Visual Studio? – bricelam

+0

@Brice是的,列出的扩展名是“Microsoft Developer Tools”,“用于JavaScript的Windows库的Visual Studio扩展”和“Web Essentials 2012”。 –

回答

66

我注意到在Visual Studio中,转到SQL菜单,Transact-SQL编辑器,新查询...给出了一个关于不能与安装的服务器一起工作的工具的对话框。安装SQL Server数据工具 - 2012年12月更新(Sql Server Data Tools)修复了问题

+1

这解决了我的一个同事的问题。 – Scott

+0

表示怀疑但为我工作 - 使用命令“Update-Database -Script -SourceMigration:0”从零开始获取完整的SQL –

+3

安装工具后需要重新启动Visual Studio –

4

此问题已解决。我卸载,然后安装和问题没有解决。然后我同时做了两件事。所以我不知道哪个解决了问题:

  1. 删除%temp%中的所有文件夹和文件。
  2. Ran devenv/resetsettings。

希望这可以帮助任何遇到类似问题的人。

+0

做了同样的事情,说跳过删除需要管理员或正在使用的文件。它的工作。 –