EF 6.13 исключение выброса добавления-миграции на VS2017, Microsoft.Build.Framework - PullRequest
0 голосов
/ 02 октября 2018

Я получаю эту ошибку, когда я набираю добавить миграцию.ApplicationDbContext существует в другом проекте, в то время как файл миграции существует в проекте веб-приложения.

Если я правильно помню, он работал раньше, но теперь перестал работать.Я попытался перезапустить Visual Studio, запустите его от имени администратора.переустановите EF 6.11, 6.13 и 6.20.

Visual Studio версии 15.8.5, Build Tool 15.1

Миграция существует в проекте запуска, и менеджер запуска также настроен в проекте запуска.

Я даже пытался восстановить Visual Studio, и после того, как я также попытался удалить и затем установить, но ничего не работает.

Я попробовал решение, где я редактирую devenv.exe.config, который не работал https://github.com/aspnet/EntityFramework6/issues/382

add-migration AddedUserFax
    System.TypeInitializationException: The type initializer for 'Company.SoftwareX.Contexts.ApplicationDbContext' threw an exception. ---> System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.Build.Framework, Version=15.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.
       at Company.SoftwareX.Database.Contexts.ApplicationDbContext..cctor()
       --- End of inner exception stack trace ---
       at Company.SoftwareX.Database.Contexts.ApplicationDbContext..ctor() in C:\Projects\Visual Studio\Project\Company.SoftwareX.Database\ApplicationDbContext.cs:line 110
    --- End of stack trace from previous location where exception was thrown ---
       at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
       at System.Data.Entity.Infrastructure.DbContextInfo.CreateInstance()
       at System.Data.Entity.Infrastructure.DbContextInfo..ctor(Type contextType, DbProviderInfo modelProviderInfo, AppConfig config, DbConnectionInfo connectionInfo, Func`1 resolver)
       at System.Data.Entity.Migrations.DbMigrator..ctor(DbMigrationsConfiguration configuration, DbContext usersContext, DatabaseExistenceState existenceState, Boolean calledByCreateDatabase)
       at System.Data.Entity.Migrations.DbMigrator..ctor(DbMigrationsConfiguration configuration)
       at System.Data.Entity.Migrations.Design.MigrationScaffolder..ctor(DbMigrationsConfiguration migrationsConfiguration)
       at System.Data.Entity.Migrations.Design.ToolingFacade.ScaffoldRunner.Run()
       at System.AppDomain.DoCallBack(CrossAppDomainDelegate callBackDelegate)
       at System.AppDomain.DoCallBack(CrossAppDomainDelegate callBackDelegate)
       at System.Data.Entity.Migrations.Design.ToolingFacade.Run(BaseRunner runner)
       at System.Data.Entity.Migrations.Design.ToolingFacade.Scaffold(String migrationName, String language, String rootNamespace, Boolean ignoreChanges)
       at System.Data.Entity.Migrations.AddMigrationCommand.Execute(String name, Boolean force, Boolean ignoreChanges)
       at System.Data.Entity.Migrations.AddMigrationCommand.<>c__DisplayClass2.<.ctor>b__0()
       at System.Data.Entity.Migrations.MigrationsDomainCommand.Execute(Action command)
    The type initializer for 'Company.SoftwareX.Database.Contexts.ApplicationDbContext' threw an exception.

1 Ответ

0 голосов
/ 02 октября 2018

Ответ на этот вопрос состоит в том, чтобы не иметь статического конструктора в DbContext или других статических методов в конструкторе, который требуется запустить до создания нового экземпляра.

Большая подсказка находится в стекеtrace, System.TypeInitializationException: инициализатор типа для ... Это указывает на то, что статические свойства / конструкторы (которые по контракту должны быть запущены, прежде чем любые экземпляры могут быть обновлены), вызвали ошибки.- Спендер

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...