2014-09-24 2 views
1

Я пытаюсь развернуть приложение MVC для экземпляра EC2 с помощью Web Deploy, и все работает до тех пор, пока я не попытаюсь запустить приложение. Я получаю следующее сообщение об ошибке:Проблемы с Web.config

Сообщение об ошибке Parser: произошла ошибка при создании обработчика раздела конфигурации для entityFramework: Конфигурация для типа DbContext 'Project.Modules.AppDbContext, Project' задается несколько раз в конфигурации приложения. Каждый контекст может быть настроен только один раз.

Я рассмотрел все связанные с этим вопросы, которые я смог найти (error There is a duplicate 'entityFramework' section defined, There is a duplicate 'entityFramework' section defined - EntityFramework6 upgrade, The type initializer for 'System.Data.Entity.Internal.AppConfig' threw an exception, The provider for invariant name System.Data.SqlClient is specified multiple times). Это приложение 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, она даст мне еще одну ошибку о том, как она не может найти нужные ресурсы. Единственное, что стоит отметить, это то, что если я развожу и уберу «Выполнить первые шаги первого кода», он просто выйдет из строя, вместо того чтобы дать мне вышеуказанную ошибку.

ответ

1

Проверьте 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 
0

Как vcsjones государства в своем ответе here Проблема находится в вашем parent directory .Even, если вы указали один, уже есть один в .config file.

+0

Я думаю, что это что-то похожее на это ... но похоже, что проблема связана с сайтом/приложением. У меня есть сайт «Проект», но я также создаю приложение на этом сайте под названием «Проект», и он создает круговые отношения, которые, по моему мнению, вызывают множество моих проблем. Есть лучший способ сделать это? – awh112

+0

Разве это не то, что я уже говорил? – Mrchief

Смежные вопросы