Arrière-plan-info:
Je suis l'aide de Microsoft Visual Web Developer 2010 Express.
Info à propos de mon absence d'expérience: le problème s'est produit dans le premier tuto que je suis en train de travailler à travers.
Quelques autres-info:
- Je suis à l'aise avec le C#, Postgres, des Rails (donc MVC et Web-apps ne sont pas nouveaux pour moi)
- J'ai pas d' expérience avec ASP.NET ou SQL Server
Description Du Problème:
Je suis en train de suivre exactement la procédure à partir de l' "l'introduction à la ASP.NET MVC 3"-tutoriel et je suis confronté à un problème lors de la première étape de la partie 5 - Ajout de la MoviesController:
Quand j'essaie d'ajouter de la "MoviesController" avec les paramètres exacts qui sont montré dans le tutoriel et cliquez sur "Ajouter" j'obtiens l'erreur suivante:
"Impossible de récupérer les métadonnées pour MvcMovie.Modèles.Film. Incapable de trouver la demande .Net Framework De Données Fournisseur de. Il ne peut pas être installé."
Google a donné une tonne de résultats lors de la recherche de l'expression "Impossible de trouver le demande .Net Framework Fournisseur de Données", mais rien n'a résolu le problème jusqu'à présent.
Ce que j'ai essayé:
Je pense que SQL Server n'est pas installé, donc je l'ai installé à partir de Visual Studio Express ISO - eu une erreur alors j'ai exécuter une réparation à partir de l'ISO et il a affirmé que tous les 15 points, y compris SQL Server Express et de réparation.NET 4 Cadre a traversé avec succès.
J'ai couru l'The_.NET_Framework_Setup_Verification_tool qui a succédé à tout pour le tout. http://blogs.msdn.com/b/astebner/archive/2008/10/13/8999004.aspx
Au delà de cette (ré-)installation et la réparation j'ai recréé le Projet et suivi à chaque étape, comme décrit dans le tutoriel et obtenu la même erreur.
J'ai trouvé que je devrais regarder pour DbProviderFactories dans la machine.config,
La racine Web.config du Projet comporte les entrées suivantes
<connectionStrings>
<add name="MovieDBContext"
connectionString="Data Source=|DataDirectory|Movies.sdf"
providerName="System.Data.SqlServerCe.4.0"/>
Ma machine config-file n'a qu'un seul DbProviderFactories entrée:
<DbProviderFactories>
<add name="Microsoft SQL Server Compact Data Provider" invariant="System.Data.SqlServerCe.3.5" description=".NET Framework Data Provider for Microsoft SQL Server Compact" type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=3.5.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"/></DbProviderFactories>
ensuite, j'ai trouvé la citation suivante
"nous avons changé la façon dont les DbProviderFactories.GetFactoryClasses() détermine le cadre de fournisseurs VS2010. Ils ne sont plus répertoriées dans la machine.fichier de configuration. "
Question:
Donc, c'est peut-être la mauvaise direction et depuis je n'ai aucune idée de ce à essayer ensuite, quelles mesures dois-je prendre pour enquêter et résoudre ce problème?
Btw. J'ai installé postgres, donc si à l'aide de postgres au lieu de SQL-server serait une solution facile, faites le moi savoir. Pour mes propres projets, je voudrais utiliser une autre DB de toute façon (probablement postgres), mais pour l'instant je veux juste être en mesure d'obtenir avec succès à travers le premier et apparemment simple tutoriel, je l'ai essayé.