Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

The type initializer for 'System.Data.Entity.Internal.AppConfig' threw an exception

I'm working with EF5 in a MVC 4 aspnet website. Locally, everything works just fine, but when I publish it to the IIS and try to enter, I get the error

"The type initializer for 'System.Data.Entity.Internal.AppConfig' threw an exception."

Detailed exception

An error occurred creating the configuration section handler for entityFramework: Configuration for DbContext type 'GdpSoftware.Server.Data.GdpSoftwareDbContext, GdpSoftware.Server.Data' is specified multiple times in the application configuration. Each context can only be configured once. (E:\App\web.config line 104)

I checked previous question in StackOverflow, and I already uninstalled and reinstalled through Nuget EntityFramework and checked that each reference to it in each project is EF5. I also checked that the selected framework in each project is 4.5.

Any idea, What might be causing the issue? Thanks! 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> 
like image 812
polonskyg Avatar asked Jul 11 '13 05:07

polonskyg


1 Answers

Do the following in the App.config file,

  1. Put the connectionStrings element is after the configSections element.
  2. Put the startup element after the connectionStrings element.
<?xml version="1.0" encoding="utf-8"?>  <configuration>    <configSections>          <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.3.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />    </configSections>    <connectionStrings>          <add name="SchedulingContext" connectionString="Data Source=XXX\SQL2008R2DEV;Initial Catalog=YYY;Persist Security Info=True;User ID=sa;Password=XXX"   providerName="System.Data.SqlClient"/>    </connectionStrings>    <startup>         <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />   </startup>         </configuration> 
like image 103
Diganta Kumar Avatar answered Oct 04 '22 16:10

Diganta Kumar