L'initialiseur de type pour 'Système.Les données.De l'entité.Interne.AppConfig' a généré une exception
Je travaille avec EF5 dans un aspnet MVC 4 web.
En local, tout fonctionne bien, mais lorsque je le publie à l'IIS et essayez d'entrer dans, j'obtiens l'erreur
"L'initialiseur de type pour 'Système.Les données.De l'entité.Interne.AppConfig'
a déclenché une exception."
Détaillée exception
Une erreur s'est produite de la création du gestionnaire de section de configuration pour
entityFramework: Configuration pour DbContext type
'GdpSoftware.Serveur.Les données.GdpSoftwareDbContext,
GdpSoftware.Serveur.De données " est donnée plusieurs fois dans la
configuration de l'application. Chaque contexte ne peut être configuré qu'une seule fois.
(E:\App\web.config ligne 104)
J'ai vérifié question précédente dans StackOverflow, et j'ai déjà désinstallé et réinstallé via Nuget EntityFramework et vérifié que chaque référence dans chaque projet est EF5. J'ai aussi vérifié que vous avez sélectionné le cadre de chaque projet est de 4,5.
Aucune idée, Ce qui pourrait être la cause du problème?
Merci! Guillermo.
web.config
<?xml version="1.0" encoding="utf-8"?>
<!--
For more information on how to configure your ASP.NET application, please visit
http://go.microsoft.com/fwlink/?LinkId=169433
-->
<configuration>
<configSections>
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=5.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>
<connectionStrings>
<add name="GdpSoftwareConnectionString" connectionString="Persist Security Info=False;User ID=user;Password=password;Initial Catalog=databasename;Data Source=server" providerName="System.Data.SqlClient" />
<add name="GdpSoftware.Server.Data.GdpSoftwareDbContext" connectionString="GdpSoftware.Server.Data.GdpSoftwareDbContext_ConnectionString" providerName="System.Data.SqlClient"/>
<add name="GdpSoftware.Server.Ui.Web.Models.UsersContext" connectionString="GdpSoftware.Server.Ui.Web.Models.UsersContext_ConnectionString" providerName="System.Data.SqlClient"/>
</connectionStrings>
<appSettings>
<add key="webpages:Version" value="2.0.0.0" />
<add key="webpages:Enabled" value="false" />
<add key="PreserveLoginUrl" value="true" />
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings>
<system.web>
<compilation debug="true" targetFramework="4.5" />
<httpRuntime targetFramework="4.5" />
<authentication mode="Forms">
<forms loginUrl="~/Account/Login" timeout="2880" />
</authentication>
<pages>
<namespaces>
<add namespace="System.Web.Helpers" />
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Optimization" />
<add namespace="System.Web.Routing" />
<add namespace="System.Web.WebPages" />
</namespaces>
</pages>
<!-- BEGIN - TO SEE THE ERRORS ON THE DEPLOYMENT-->
<customErrors mode="Off" />
<!-- END - TO SEE THE ERRORS ON THE DEPLOYMENT-->
</system.web>
<system.webServer>
<!-- BEGIN - TO SEE THE ERRORS ON THE DEPLOYMENT-->
<httpErrors errorMode="Detailed" />
<asp scriptErrorSentToBrowser="true" />
<!-- END - TO SEE THE ERRORS ON THE DEPLOYMENT-->
<validation validateIntegratedModeConfiguration="false" />
<handlers>
<remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" />
<remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" />
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
<add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>
<staticContent>
<mimeMap fileExtension=".mustache" mimeType="text/plain" />
</staticContent>
<security>
<requestFiltering>
<fileExtensions>
<add fileExtension=".mustache" allowed="true" />
</fileExtensions>
</requestFiltering>
</security>
</system.webServer>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Castle.Windsor" publicKeyToken="407dd0808d44fbdc" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.2.0.0" newVersion="3.2.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.5.0.0" newVersion="4.5.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Owin.Host.SystemWeb" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.0.0.0" newVersion="1.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Castle.Core" publicKeyToken="407dd0808d44fbdc" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.2.0.0" newVersion="3.2.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
<contexts>
<context type="GdpSoftware.Server.Data.GdpSoftwareDbContext, GdpSoftware.Server.Data" disableDatabaseInitialization="true">
<databaseInitializer type="System.Data.Entity.MigrateDatabaseToLatestVersion`2[[GdpSoftware.Server.Data.GdpSoftwareDbContext, GdpSoftware.Server.Data], [GdpSoftware.Server.Data.Migrations.Configuration, GdpSoftware.Server.Data]], EntityFramework" />
</context>
</contexts>
</entityFramework>
</configuration>
Vous devez vous connecter pour publier un commentaire.
J'avais besoin de changer par defaultConnectionFactory être SqlConnectionFactory au lieu de la valeur par défaut
http://blogs.msdn.com/b/davidobando/archive/2012/08/14/changing-ef-s-default-provider-from-localdb-to-sql-server.aspx
<providers> <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" /> </providers>
comme spécifié dans la documentation.Effectuer les opérations suivantes dans l'Application.fichier de config,
connectionStrings
élément est après laconfigSections
élément.startup
élément après laconnectionStrings
élément.startup
après laconnectionString
section a fait l'affaire pour moi. Merci.J'ai Trouvé que la suppression des références à Entity Framework et l'installation de la dernière version de l'Entité Cadre de NuGet résolu le problème. Il recrée toutes les entrées requises pour vous lors de l'installation.
J'ai cassé ma tête sur cette question, et enfin, voici ce qui a fonctionné pour moi:-
Étape 1 : Désinstaller Entity framework à l'aide de gestionnaire de package Nuget
Etape 2: Supprimer Entityframework élément à partir de l'App.config
Etape 3: Réinstallation de la version souhaitée de l'Entity Framework.
Etape 4: supprimer les Migrations de table et les Migrations dossier.
Etape n ° 5: Permettre aux Migrations et Ajouter de la Migration et de mise à Jour de la base de données
J'ai eu plusieurs
provider
s spécifié dans mon web.config.J'ai tout simplement supprimé un de ceux, et cela a fonctionné.
Je suis de l'utilisation de MySQL, pas TSQL
J'ai rencontré ce problème quand j'ai oublié de mettre mon Connexions.fichier de configuration pour "copy"
BareMessage = "Impossible d'ouvrir le configSource fichier 'Connexions.config'."
<connectionStrings configSource="connections.config" />
, et ne pas copierconnections.config
dans le répertoire de sortie.J'ai aussi été confronté au même problème, mais dans mon cas, ma solution est une application de console et EF bibliothèque de classes qui interagit principalement avec la base de données. J'ai enlevé paramètres de configuration liés à l'EF à partir de la Console de Config. J'ai conservé les paramètres de configuration suivants en EF bibliothèque de classe-je.e qu'à un endroit.
Cela a fonctionné pour moi.
Je pense que le problème vient de cette ligne:
Je ne sais pas pourquoi vous utilisez cette approche et comment il fonctionne...
C'est peut-être mieux d'essayer de le sortir de site web.config et aller dans une autre
Si vous êtes le maintien d'un plus cinfiguration fichier app.config , Ne comprennent pas toutes les clés dans la page parent.
Parent Page : app.config
Enfant Page : appSettings.config
J'ai eu le même problème. Après un jour, je l'ai eu.
Problème est à partir de l'ajout de deux
smtp
balises dansmailSettings
sous<system.net>
.De recherche dans votre
web.config
ouApp.Config
si vous avez quelques balises qui ne sont pas utilisés dans votre projet ou que vous n'avez pas dans vos références.J'ai eu cette erreur aujourd'hui sur un imbriquée MVC application en cours d'exécution comme le dossier virtuel dans onother application MVC. Dans mon cas, le InnerException a été plus instructif que la principale. Il était en déclarant:
Après la fixation de la double chaînes de connexion dans le imbriqués apps tout a bien fonctionné.
Si vous utilisez ASP.NET et IISExpress aller à "C:\Users\\Documents\IISExpress\config\applicationhost.config", la recherche de votre Projet et regardez si vous avez une mauvaise virtualDirectory entrée.
J'ai fait face à semblable question et de changer defaultConnectionFactory être SqlConnectionFactory m'a aidé à le résoudre.
réelle erreur renvoyé Message=élément non reconnu "prestataires" dans le web.config
donc, à partir du web.fichier de configuration de supprimer la section fournisseurs de
La question générale est juste une question de Machine/Web/App configs.
J'ai eu les mêmes chaînes de connexion dans la Machine.Config comme dans mon Application.Config que j'ai mis avant ma première chaîne de connexion dans mon Application.Config
Cette erreur bizarre qui se passe, quand vous jouez avec les différentes versions de EntityFramework versions de Packages Nuget comme je l'ai fait.
Tout d'abord, Désinstaller le Cadre de l'Entité DLL à partir de packages NuGet et ensuite Nettoyer app.config. En supprimant l'entrée de configSections et entity framework élément.
Ensuite, installez la version souhaitée. Cela devrait résoudre le problème.
Dans la chaîne de connexion, la première chaîne est la base du web.config
SchedulingContext est la base du paramètre de l'Entité fichier.
dans mon cas, l'ajout de
<clear />
juste après<connectionStrings>
travaillé comme un charmeJ'ai eu la duplicit définition de la chaîne de connexion dans mon service WCF. J'ai été en mesure de déboguer le service et de visualiser un message d'erreur (non affiché par défaut):
qui a été le site internet après.config transformation (note duplicit valeurs)
Donc supprimer une chaîne de connexion résolu mon problème.