Constructeur de type 'System.Les données.De l'entité.L'Infrastructure.SqlConnectionFactory' ne trouve pas
Je "mis à jour" de mon PC à partir de Windows 7 à Windows 8 hier, alors maintenant, je suis à l'aide de Visual Studio 2012, et de l'ouverture de mon projet Visual Studio 2010.
Ce projet toujours travaillé très bien, mais il ne fonctionne pas dans Visual Studio 2012. J'ai eu quelques erreurs bizarres, mais je l'ai fixée. Maintenant, je me retrouve avec une erreur que je n'arrive pas à résoudre et ne trouve rien sur Google:
- Je obtenir cette exception:
Pas réussi à définir la Base de données.DefaultConnectionFactory à une instance du Système.Les données.De l'entité.L'Infrastructure.SqlConnectionFactory, EntityFramework' type que spécifié dans la configuration de l'application. Voir l'exception interne pour plus de détails.
Avec le suivant innerexception:
Constructeur de type 'System.Les données.De l'entité.L'Infrastructure.SqlConnectionFactory' introuvable.
De Mon Site Web.Config a l'air assez standard:
<connectionStrings>
<add name="DefaultConnection" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=aspnet-WebUI-201253192737;Integrated Security=True" providerName="System.Data.SqlClient" />
</connectionStrings>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework">
<parameters>
<parameter value="Data Source=.\SQLEXPRESS; Integrated Security=True; MultipleActiveResultSets=True" />
</parameters>
</defaultConnectionFactory>
</entityFramework>
La SqlConnectionFactory classe existe et il a 2 constructeurs (l'un sans paramètre, et celui qui prend une chaîne de connexion). J'ai testé en créant un SqlConnectionFactory dans mon code C#.
J'ai déjà supprimé Entity Framework et réinstallé, mais ça n'a pas de résoudre le problème.
Je suis en utilisant Entity Framework 5.0 RC (qui a bien fonctionné dans VS2010 comme indiqué précédemment) avec SQL Server 2012 + Outils et IIS express.
Yep............
OriginalL'auteur Leon Cullens | 2012-06-09
Vous devez vous connecter pour publier un commentaire.
J'ai corrigé le problème. J'ai changé cela:
:
Et maintenant ça fonctionne. Un peu stupide mais, je voudrais d'approvisionnement, la chaîne de connexion en tant que paramètre.
J'ai trouvé ce par la création d'une nouvelle MVC 4 projet avec entity framework dans VS 2012, et en comparant le Web.Les fichiers de configuration. J'ai remarqué une autre différence.
Mon Entity Framework assemblée a version 4.4.0.0 (bien que j'ai installé la version 5.0 RC à partir de NuGet). Le nouveau projet que j'ai créé a une assemblée avec la version 5.0.0.0. Quelqu'un peut-il expliquer cela?
OriginalL'auteur Leon Cullens
Un couple de choses que vous pourriez vérifier:
Modifier Un couple plus d'idées:
2) j'ai donné tous les moyens de rôle à chaque utilisateur, n'a pas fonctionné. Qui pourrait donner lieu à une erreur de toute façon (eu ça avant sur Windows 7). Cette erreur a clairement quelque temps à voir avec l'EF de la bibliothèque (il ne peut pas trouver le constructeur?).
L' .La version NET de tous les projets est 4.0 et copie locale est vrai.
OriginalL'auteur Shiraz Bhaiji
Je crois, une bonne façon de mettre à niveau à partir d'EF v4.3 à Ef v5.0 pour les projets existants est d'utiliser la commande Nuget
Cette mise à jour du configsection dans le fichier de configuration à EF 5
OriginalL'auteur Bindesh Vijayan