46 votes

Impossible de trouver le fournisseur de données .Net Framework demandé. Il pourrait ne pas être installé. - lorsque vous suivez le tutoriel mvc3 asp.net

Je suis à la suite de la ASP.NET MVC 3 magasin de Musique application tutoriel mais je continue d'être coincé dans la partie 4: http://www.asp.net/mvc/tutorials/mvc-music-store-part-4. Il continue à me dire que je n'ai pas le fournisseur de données SQL installé:

Exact de l'erreur:

System.ArgumentException was unhandled by user code
  Message=Unable to find the requested .Net Framework Data Provider.  It may not be installed.
  Source=System.Data
  StackTrace:
       at System.Data.Common.DbProviderFactories.GetFactory(String providerInvariantName)
       at System.Data.Entity.Internal.LazyInternalConnection.TryInitializeFromAppConfig(String name)
       at System.Data.Entity.Internal.LazyInternalConnection.Initialize()
       at System.Data.Entity.Internal.LazyInternalConnection.get_ConnectionHasModel()
       at System.Data.Entity.Internal.LazyInternalContext.InitializeContext()
       at System.Data.Entity.Internal.InternalContext.Initialize()
       at System.Data.Entity.Internal.InternalContext.GetEntitySetAndBaseTypeForType(Type entityType)
       at System.Data.Entity.Internal.Linq.InternalSet`1.Initialize()
       at System.Data.Entity.Internal.Linq.InternalSet`1.GetEnumerator()
       at System.Data.Entity.Infrastructure.DbQuery`1.System.Collections.Generic.IEnumerable<TResult>.GetEnumerator()
       at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
       at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
       at MusicApplication.Controllers.StoreController.Index() in C:\Users\Michelle\documents\visual studio 2010\Projects\MusicApplication\MusicApplication\Controllers\StoreController.cs:line 18
       at lambda_method(Closure , ControllerBase , Object[] )
       at System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters)
       at System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters)
       at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters)
       at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClass15.<InvokeActionMethodWithFilters>b__12()
       at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation)
  InnerException: 

J'ai ajouté la référence au Système.Les données.SqlServerCe - ont toujours la même erreur. De toute orientation serait vraiment apprécié

31voto

vitaminjeff Points 383

En utilisant NuGet, j'ai pu résoudre un problème similaire à celui-ci dans Visual Studio 2010.

Allez dans Outils> Gestionnaire de paquets de bibliothèque> Gérer les paquets NuGet pour la solution ...

Dans la boîte de dialogue, recherchez "EntityFramework.SqlServerCompact". Vous trouverez un package avec la description "Permet à SQL Server Compact 4.0 d'être utilisé avec Entity Framework". Installez ce paquet.

Un élément semblable au suivant sera inséré dans votre web.config:

 <entityFramework>
  <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlCeConnectionFactory, EntityFramework">
    <parameters>
      <parameter value="System.Data.SqlServerCe.4.0" />
    </parameters>
  </defaultConnectionFactory>
</entityFramework>
 

16voto

Sundar Points 121

J'ai eu le même problème. J'ai vérifié la version de System.Data.SqlServerCe dans C: \ Windows \ assembly. C'était 3.5.1.0. J'ai donc installé la version 4.0.0 à partir du lien ci-dessous (x86) et fonctionne correctement.

http://www.microsoft.com/download/en/details.aspx?id=17876

10voto

user523161 Points 121

Ajoutez ces lignes à votre fichier web.config:

 <system.data>
    <DbProviderFactories>
               <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory,MySql.Data,  Version=6.6.4.0, Culture=neutral, PublicKeyToken=C5687FC88969C44D"/>
    </DbProviderFactories>
</system.data>
 

Changez votre fournisseur de MySQL à SQL Server ou à tout autre fournisseur de base de données auquel vous vous connectez.

0voto

jp131984 Points 1

Dans mon cas, le problème était dû à un problème de connexion à la base de données SQL. Je viens de déconnecter puis de reconnecter la source de données SQL à partir de la vue Conception. Je suis de retour et en cours d'exécution. J'espère que cela fonctionne pour tout le monde.

0voto

ari Points 152

J'ai eu un problème similaire avec SqlClient sur le service WCF. Ma solution était de mettre ces lignes dans le client app.config

   <startup>
     <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0" />
  </startup>
 

J'espère que ça aide pour quelqu'un ..

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