web-dev-qa-db-fra.com

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

Je suis le didacticiel de l’application ASP.NET MVC 3 Music Store mais je reste bloqué dans la partie 4: http://www.asp.net/mvc/tutorials/mvc-music-store-part-4 . Il n'arrête pas de me dire que le fournisseur de données SQL n'est pas installé:

Erreur exacte:

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 à System.Data.SqlServerCe - ont toujours la même erreur. Toute orientation serait vraiment appréciée

45
michelle

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>
31
vitaminjeff

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 bien.

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

16
Sundar

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.

10
Atif

Cette erreur est principalement due à une incompatibilité d'architecture de processeur avec Framework installé ei x86 vs x64 La solution: Accédez à Explorateur de solutions> propriétés du projet> onglet Compile> Options de compilation avancées Vous devez modifier le processeur cible à partir de X64 à X86Enregistrez un nouveau paramètre et recompilez votre solution . Je l’ai essayé et cela a très bien fonctionné . J'espère que cela vous aidera .. Malek

1
Malek Aitouche

Cela m'est arrivé parce que j'ai créé un nouveau projet qui essayait d'utiliser System.Web.ProvidersDefaultMembershipProvider pour l'adhésion. Ma base de données et mon application ont été configurés pour utiliser System.Web.Security.SqlMembershipProvider à la place. J'ai dû mettre à jour le fournisseur et la chaîne de connexion (car ce fournisseur semble avoir des exigences de chaîne de connexion étranges) pour le faire fonctionner.

0
JSideris

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.

0
jp131984

J'ai eu la même chose lorsque j'ai suivi le tutoriel MvcMusicStore dans la partie 4 et j'ai remplacé la chaîne de connexion donnée par ceci:

add name = "MusicStoreEntities" connectionString = "source de données =.\SQLEXPRESS; Sécurité intégrée = SSPI; base de données = MvcMusicStore; ID utilisateur = sa; mot de passe =" providerName = "System.Data.SqlClient" />

Cela a fonctionné pour moi.

0
Nithya

J'ai eu un problème similaire avec SqlClient sur le service WCF ..__ Ma solution a été 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 ..

0
ari