Систему конфигурации не удалось инициализировать - PullRequest
0 голосов
/ 05 сентября 2018

Я пытаюсь включить миграцию Code First для проекта в Visual Studio 2013 из консоли диспетчера пакетов. (Контекст: я пытаюсь узнать о веб-развертывании из этого учебника (https://docs.microsoft.com/en-us/aspnet/web-forms/overview/deployment/visual-studio-web-deployment/preparing-databases))

Я набираю:

PM> Enable-Миграция

и получите следующее:

> Checking if the context targets an existing database...
> System.TypeInitializationException: The type initializer for
> 'System.Data.Entity.Migrations.DbMigrationsConfiguration`1' threw an
> exception. ---> System.TypeInitializationException: The type
> initializer for 'System.Data.Entity.Internal.AppConfig' threw an
> exception. ---> System.Configuration.ConfigurationErrorsException:
> Configuration system failed to initialize --->
> System.Configuration.ConfigurationErrorsException: Unrecognized
> configuration section compilation. The type initializer for
> 'System.Data.Entity.Migrations.DbMigrationsConfiguration`1' threw an
> exception.

Я пробовал то, что предлагали другие посты переполнения стека (а также форумы ASP.NET), но ничего не помогло. В других публикациях предполагается, что с файлом Web.config что-то может быть не так, но любые внесенные мной изменения не исправили ошибку.

Вот начало моего файла Web.config:

<configuration>
  <configSections>
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
    <sectionGroup name="elmah">
      <section name="security" requirePermission="false" type="Elmah.SecuritySectionHandler, Elmah" />
      <section name="errorLog" requirePermission="false" type="Elmah.ErrorLogSectionHandler, Elmah" />
      <section name="errorMail" requirePermission="false" type="Elmah.ErrorMailSectionHandler, Elmah" />
      <section name="errorFilter" requirePermission="false" type="Elmah.ErrorFilterSectionHandler, Elmah" />
    </sectionGroup>
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
  </configSections>

1 Ответ

0 голосов
/ 05 сентября 2018

Я добавил этот фрагмент в свой файл Web.config, но поместил его не в то место:

<compilation debug="true" targetFramework="4.0">
        <assemblies>
          <add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
        </assemblies>
</compilation>

Он должен был быть дочерним по отношению к system.web, а не между местоположением и временем выполнения.

...