Исключение при попытке перенести базу данных в Entity Framework v6.2.0 в Visual Studio v15.8.4 - PullRequest
0 голосов
/ 13 сентября 2018

Я настроил базу данных, используя Entity Framework, сначала код, каждый раз, когда я пытаюсь добавить миграцию или обновить базу данных, я получаю следующее сообщение об ошибке :

PM> update-database
Exception calling "CreateInstance" with "7" argument(s): "Constructor on type 'System.Data.Entity.Migrations.Utilities.DomainDispatcher' not found."
At D:\WTS Projects\ModelCalibration\packages\EntityFramework.6.2.0\tools\EntityFramework.psm1:783 char:5
+     $dispatcher = $utilityAssembly.CreateInstance(
+     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : MissingMethodException

System.NullReferenceException: Object reference not set to an instance of an object.
at System.Data.Entity.Migrations.MigrationsDomainCommand.WriteLine(String message)
at System.Data.Entity.Migrations.UpdateDatabaseCommand.<>c__DisplayClass2.<.ctor>b__0()
at System.Data.Entity.Migrations.MigrationsDomainCommand.Execute(Action command)
Object reference not set to an instance of an object.

Я скопировал проект на другой компьютер с той же версией Visual Studio, Entity Framework & Windows и смог перенести базу данных без проблем. Я также скачал образец проекта на этих документах на обеих машинах и получил то же исключение на этой машине, но у другого снова не было проблем, поэтому я считаю, что это не имеет никакого отношения к моему коду.

Единственное решение, которое мне удалось найти, - в этой ветке здесь , где решение состояло в том, чтобы переустановить Windows, что мне не очень интересно.

Я также попробовал все сказанное в других подобных сообщениях SO, например, Исключение, возникающее при попытке включить миграцию в EF 4.3.1 , который должен был переустановить Entity Framework, восстановить Visual Studio и т. Д. *

Я использую Enitiy Framework v6.2.0, Visual Studio v15.8.4, .NET Framework 4.6.1 и Windows 10.

Кто-нибудь видел эту проблему раньше и / или знает какие-либо возможные решения?

Спасибо!

Ответы [ 2 ]

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

Хорошо, я нашел решение, которое работает, благодаря @ rho24 в этой теме !Я также опубликую решение здесь для всех, у кого есть проблема:

Проблема в том, что на моей машине загружена версия 3.0.0.0 сборки System.Management.Automation в консоли управления пакетами, иEntityFramework.PowerShell.Utility.dll построена для версии 1.0.0.0.

У меня есть временное исправление для добавления следующего перенаправления привязки в C:\Users\USERNAME\AppData\Local\Microsoft\VisualStudio\15.0_313c23f6\devenv.exe.config

<dependentAssembly>
    <assemblyIdentity name="System.Management.Automation" publicKeyToken="31bf3856ad364e35" />
    <bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0"/>
    <publisherPolicy apply="no" />
</dependentAssembly>

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

Мне удалось выяснить, что это та же проблема, что и у PowerShell/PowerShell#6189.

, которая также была у меня, но была исправлена ​​внедавнее обновление VSНадеемся, что исправление, которое они применили, также легко для вас!

Опять же спасибо @ rho24 за решение!: D

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

Иногда бывает достаточно просто очистить и перестроить ваше решение

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