ADO.NET fournisseur de invariante nom de "Système".Les données.SqlClient;' ne peut pas être trouvé (Entity Framework MVC)

Je n'arrive pas à résoudre ce qui semble être un problème commun avec Entity Framework 6. J'ai passé en revue les nombreux sujets liés à cette question, DONC, et je suis incapable de trouver une solution qui fonctionne pour mon cas particulier.

J'ai jusqu'à présent été en développement à l'aide de localdb avec le premier code, les migrations, qui a bien fonctionné. Mais maintenant que je suis passer à une réelle instance de SQL server, il jette l'erreur suivante lors de la tentative migrations:

"L'ADO.NET fournisseur de invariante nom de "Système".Les données.SqlClient;' est pas enregistré dans la machine ou le fichier de config, ou n'a pas pu être chargé. Voir l'exception interne pour plus de détails.
au Système.Les données.Commun.DbProviderFactories.GetFactory(String providerInvariantName)"

J'ai tenté les correctifs suivants:

1) Désinstallé et Réinstallé Entity Framework

2) Ajout de la code et utilisés :

public abstract class BaseDomainContext : DbContext
{
    static BaseDomainContext()
    {
        //ROLA - This is a hack to ensure that Entity Framework SQL Provider is copied across to the output folder.
        //As it is installed in the GAC, Copy Local does not work. It is required for probing.
        //Fixed "Provider not loaded" error
        var ensureDLLIsCopied = System.Data.Entity.SqlServer.SqlProviderServices.Instance;
    }
}

comme classe de base pour mon DbSet classes.

3) Ajouté tout à une solution fraîche et reçu le même message d'erreur.

4) suppression de la writecontext et essayé migrations avec juste lire, toujours échoué.

5) la Tentative de réécrire plusieurs fois en utilisant les informations de MSDN

6) j'ai confirmé que EntityFramework.SqlServer.dll est dans mon répertoire bin. Il est également référencé correctement. En Plus j'ai un projet sous ma solution.

7) a Confirmé que je ne suis pas à l'aide de la WebConfig en vertu de vues.

8) a Confirmé que j'ai le Système.Les données dll dans le dossier bin.

ADO.NET fournisseur de invariante nom de

Propre/la Reconstruction et la suppression de migrations dossier fait après chacune des étapes ci-dessus.

Je suis à une perte pour expliquer pourquoi je suis encore à recevoir cette erreur.

Web Config

    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 --></configSections>
<appSettings>
<add key="webpages:Version" value="3.0.0.0" />
<add key="webpages:Enabled" value="false" />
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings>
<connectionStrings>
<add name="ReadContext" connectionString="Server=Sql2014intsnace;Database=database;User Id=secret; Password=secret;" providerName="System.Data.SqlClient;" />
<add name="WriteContext" connectionString="Server=Sql2014intsnace;Database=database;User Id=secret; Password=secret;" providerName="System.Data.SqlClient;" />
</connectionStrings>
<system.web>
<compilation debug="true" targetFramework="4.5" />
<httpRuntime targetFramework="4.5" />
<authentication mode="Windows" />
<authorization>
<deny users="?" />
</authorization>
</system.web>
<system.webServer>
<handlers>
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<remove name="OPTIONSVerbHandler" />
<remove name="TRACEVerbHandler" />
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>
</system.webServer>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Microsoft.Owin" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Owin.Security.OAuth" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Owin.Security.Cookies" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Owin.Security" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" culture="neutral" publicKeyToken="30ad4fe6b2a6aeed" />
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="0.0.0.0-5.2.2.0" newVersion="5.2.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Optimization" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="1.1.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="0.0.0.0-1.5.2.14234" newVersion="1.5.2.14234" />
</dependentAssembly>
</assemblyBinding>
</runtime>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />    
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
<contexts> 
<context type="ProjectName.Models.ReadContext, ProjectName"> 
<databaseInitializer type="System.Data.Entity.MigrateDatabaseToLatestVersion`2[[ProjectName.Models.ReadContext, ProjectName], [ProjectName.Migrations.Configuration, ProjectName]], EntityFramework" /> 
</context> 
</contexts>
</entityFramework>
</configuration>
On dirait que vous êtes absent System.Data.dll
J'ai ajouté plus d'informations, voir l'image de dossier bin. Il est la copie.
Yep, c'était bien le problème.

OriginalL'auteur Rasen244 | 2015-09-05