web-dev-qa-db-fra.com

Le projet DB ne se charge pas dans Visual Studio 2013

L'erreur dit:

Impossible de créer le gestionnaire d'extensions pour la plate-forme cible "Microsoft.Data.Tools.Schema.Sql.Sql120DatabaseSchemaProvider".

Mon coéquipier a créé le projet DB, mais lorsque je l'ai retiré du contrôle de code source, il n'a pas pu être créé.

35
jocull

La solution consiste à obtenir une mise à jour des "Outils de données SQL Server". Vous avez apparemment une version plus ancienne.

Regardez dans Visual Studio 2013 sous Outils -> Extensions et mises à jour. Dans le volet gauche, cliquez sur Mises à jour. J'espère que vous pourrez y trouver la mise à jour dont vous avez besoin.

(Vous pouvez également exécuter une installation de réparation sur "Outils de données SQL Server" sous Panneau de configuration de Windows -> Programmes.)

57
Glen Weaver

J'ai résolu ce problème en réduisant la version requise des outils. Je ne sais pas pourquoi ils sont installés sur sa machine et non sur la mienne, mais modifiez le fichier dbproj et changez l'exigence en une version inférieure, comme ceci:

Original:

<SchemaVersion>2.0</SchemaVersion>
<ProjectVersion>4.1</ProjectVersion>
<ProjectGuid>{......}</ProjectGuid>
<DSP>Microsoft.Data.Tools.Schema.Sql.Sql120DatabaseSchemaProvider</DSP>
<OutputType>Database</OutputType>
<RootPath>
</RootPath>

Mise à jour: (n'incluez pas les *)

<SchemaVersion>2.0</SchemaVersion>
<ProjectVersion>4.1</ProjectVersion>
<ProjectGuid>{......}</ProjectGuid>
**<DSP>Microsoft.Data.Tools.Schema.Sql.Sql110DatabaseSchemaProvider</DSP>**
<OutputType>Database</OutputType>
<RootPath>
</RootPath>
15
jocull

A eu le même problème et a essayé les solutions ci-dessus, même si la création d'un nouveau projet à partir de zéro recevait le même message d'erreur. J'obtenais également "Le fichier existe" pour une raison quelconque.

J'ai trouvé ce qui suit dans l'observateur d'événements:

Description: The process was terminated due to an unhandled exception.
Exception Info: System.IO.IOException
   at System.IO.__Error.WinIOError(Int32, System.String)
   at System.IO.Path.InternalGetTempFileName(Boolean)

Effacé mon répertoire temporaire et maintenant les projets de base de données se comportent à nouveau. Ce n'est probablement pas une vraie solution courante à ce problème, mais je voulais obtenir les informations au cas où cela pourrait aider quelqu'un d'autre!

5
Brian Riley

Vous pouvez essayer ces étapes:

  1. Essayez d'ajouter un autre projet de base de données dans votre solution.
  2. Entrez dans le modifier le fichier DBProj
  3. Copiez le DSP et utilisez-le.

J'essayais de déplacer le projet de vs2013 à vs2012 et cela a fonctionné pour moi. Le fournisseur était:

<DSP>Microsoft.Data.Tools.Schema.Sql.Sql110DatabaseSchemaProvider</DSP>

Vous pouvez essayer celui ci-dessus si vous avez VS2012.

0
Sunil Mehta