43 votes

Erreur de mise à jour de la base de données dans le cadre de la migration EF5 -script.

J'ai utilisé Visual Studio 2012 RC avec une licence d'essai sans aucun problème. J'ai acheté Visual Studio 2012 Professional hier, j'ai installé la dernière version et la mise à jour 1.

J'ai une solution/un projet sur lequel je travaille depuis de nombreuses années. Il comporte de nombreuses migrations. J'ai lancé ma première add-migration TableX_NewField y update-database -sourcemigration:TableX_PreviousNewField dans cette dernière version.

Ils ont tous deux fonctionné sans problème.

Puis j'ai couru update-database -script -sourcemigration:TableX_PreviousNewField et a reçu ce qui suit :

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))

J'ai lancé les mises à jour de Windows. Vérifié les mises à jour avec NuGet. Redémarré mon ordinateur. L'erreur persiste.

66voto

James Harrison Points 636

J'ai remarqué que dans visual studio, en allant dans le menu SQL, Transact-SQL Editor, New Query... donnait un dialogue sur les outils ne fonctionnant pas avec le serveur installé. Installation des outils de données du serveur SQL - Mise à jour de décembre 2012 ( Outils de données pour le serveur Sql ) a réglé le problème

4voto

Sean Stenlund Points 549

Ce problème est résolu. J'ai désinstallé, puis installé et le problème n'était pas résolu. J'ai ensuite fait deux choses en même temps ; je ne sais donc pas laquelle a résolu le problème :

  1. Suppression de tous les dossiers et fichiers de %temp%.
  2. Ran devenv /resetsettings.

J'espère que cela aidera toute personne rencontrant un problème similaire.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X