C# Web.config的问题
我正在尝试使用WebDeploy将MVC应用程序部署到EC2实例,在我尝试运行该应用程序之前,一切都正常。我得到以下错误: 分析器错误消息:创建entityFramework的配置节处理程序时出错:在应用程序配置中多次指定了DbContext类型“Project.Modules.AppDbContext,Project”的配置。每个上下文只能配置一次 我已经找到了所有相关的问题(,)。它是一个MVC应用程序,因此有多个Web.config文件,但它抱怨的EF部分并不存在于这两个地方。以下是我的配置文件的相关部分:C# Web.config的问题,c#,asp.net-mvc,entity-framework,web-config,asp.net-mvc-5,C#,Asp.net Mvc,Entity Framework,Web Config,Asp.net Mvc 5,我正在尝试使用WebDeploy将MVC应用程序部署到EC2实例,在我尝试运行该应用程序之前,一切都正常。我得到以下错误: 分析器错误消息:创建entityFramework的配置节处理程序时出错:在应用程序配置中多次指定了DbContext类型“Project.Modules.AppDbContext,Project”的配置。每个上下文只能配置一次 我已经找到了所有相关的问题(,)。它是一个MVC应用程序,因此有多个Web.config文件,但它抱怨的EF部分并不存在于这两个地方。以下是我的配
<configSections>
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>
--------more config settings here---------
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework">
<parameters>
<parameter value="Data Source=MYIP;Initial Catalog=db;Persist Security Info=True;User ID=user;Password=password" />
</parameters>
</defaultConnectionFactory>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
</entityFramework>
--------更多配置设置在这里---------
我从6.1.0中听到过很多关于它应该解决的问题。如果我从configSection中删除该条目,它会给我另一个错误,说明它如何无法找到正确的资源。唯一值得注意的是,如果我部署并取消选中“执行代码优先迁移”,它只会超时,而不会给出上述错误。检查应用程序虚拟目录的根文件夹或父文件夹中的
web.config
。由于web.config继承,出现重复节错误
wwwroot
|-- web.config <-- ensure this doesn't have any connection strings
|-- your app
|-- web.config <-- inherites wwwroot\web.config's settings
wwwroot
|--正如vcsjones在回答中所说的那样
问题出在您的父目录中
。即使您指定了一个,在.config文件中也已经有一个了
我认为这与此类似……但问题似乎是站点/应用程序的关系。我有我的站点“Project”,但我也在该站点中创建了一个名为“Project”的应用程序,它创建了一个循环关系,我认为这会导致我的很多问题。有更好的方法吗?