Подтвердить что ты не робот

Visual Studio 2015 RC Entity Framework 6.1.3 Ошибка миграции

Приклеенная ниже ошибка возникает только тогда, когда решение имеет более одного проекта, который ссылается на EntityFramework. Когда вы запускаете "Enable-Migrations" или "Add-Migration", я получил следующую ошибку:

Новый объект: недопустимое значение или свойство только для чтения. Измените значение, а затем повторите попытку. В D:\Projetos\Monitoramento\пакеты\EntityFramework.6.1.3\Tools\EntityFramework.psm1: 757 char: 13 + $info = New-Object System.AppDomainSetup -Property @{ + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~     + CategoryInfo: InvalidData: (:) [Новый объект], исключение     + FullyQualifiedErrorId: SetValueException, Microsoft.PowerShell.Commands.NewObjectCommand. свойство "PrivateBinPath" не может быть найдено на этом объекте. Подтвердите это свойство существует и может быть установлено. В D:\Projetos\Monitoramento\пакеты\EntityFramework.6.1.3\инструменты\EntityFramework.psm1: 772 char: 9 + $info.PrivateBinPath + = '; lib\net45' + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~     + CategoryInfo: InvalidOperation: (:) [], RuntimeException     + FullyQualifiedErrorId: PropertyNotFound Exception вызывает "LoadFrom" с аргументом "1": "Указанный путь, имя файла или оба они слишком длинны. Полноценное имя файла должно быть меньше 260 символов, а имя каталога должно быть меньше 248 символов." В D:\Projetos\Monitoramento\пакеты\EntityFramework.6.1.3\инструменты\EntityFramework.psm1: 780 char: 5 + $utilityAssembly = [System.Reflection.Assembly]:: LoadFrom ((Join-Path $ToolsP... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~     + CategoryInfo: NotSpecified: (:) [], MethodInvocationException     + FullyQualifiedErrorId: PathTooLongException Вы не можете вызвать метод для нулевого значения выражения. В D:\Projetos\Monitoramento\пакеты\EntityFramework.6.1.3\Tools\EntityFramework.psm1: 781 char: 5 + $dispatcher = $utilityAssembly.CreateInstance( + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~     + CategoryInfo: InvalidOperation: (:) [], RuntimeException     + FullyQualifiedErrorId: InvokeMethodOnNull Exception, вызывающий "CreateInstanceFrom" с аргументами "8": "Указанный путь, файл имя или оба слишком длинны. Полное имя файла должно быть меньше чем 260 символов, а имя каталога должно быть меньше 248 символов. D:\Projetos\Monitoramento\пакеты\EntityFramework.6.1.3\Tools\EntityFramework.psm1: 809 char: 5 + $domain.CreateInstanceFrom( + ~~~~~~~~~~~~~~~~~~~~~~~~~~~     + CategoryInfo: NotSpecified: (:) [], MethodInvocationException     + FullyQualifiedErrorId: PathTooLongException

Выход с EntityFramework 6.1.1:

Вызов исключения "LoadFrom" с аргументом "1": "Указанный путь, имя файла или оба слишком длинны. Полноценное имя файла должно быть меньше 260 символов, а имя каталога должно быть меньше чем 248 символов." В папке C:\Users\Hudson\Documents\Visual Studio 2015\Projects\WpfApplication4\пакеты\EntityFramework.6.1.1\Tools\EntityFramework.psm1: 780 char: 5 + $utilityAssembly = [System.Reflection.Assembly]:: LoadFrom ((Join-Path $ToolsP... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~     + CategoryInfo: NotSpecified: (:) [], MethodInvocationException     + FullyQualifiedErrorId: PathTooLongException Вы не можете вызвать метод для нулевого значения выражения. В C:\Users\Hudson\Documents\Visual Studio 2015\Projects\WpfApplication4\пакеты\EntityFramework.6.1.1\Tools\EntityFramework.psm1: 781 char: 5 + $dispatcher = $utilityAssembly.CreateInstance( + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~     + CategoryInfo: InvalidOperation: (:) [], RuntimeException     + FullyQualifiedErrorId: InvokeMethodOnNull Exception, вызывающий "CreateInstanceFrom" с аргументами "8": "Указанный путь, файл имя или оба слишком длинны. Полное имя файла должно быть меньше чем 260 символов, а имя каталога должно быть меньше 248 символов." В папке C:\Users\Hudson\Documents\Visual Studio 2015\Projects\WpfApplication4\пакеты\EntityFramework.6.1.1\Tools\EntityFramework.psm1: 809 char: 5 + $domain.CreateInstanceFrom( + ~~~~~~~~~~~~~~~~~~~~~~~~~~~     + CategoryInfo: NotSpecified: (:) [], MethodInvocationException     + FullyQualifiedErrorId: PathTooLongException

4b9b3361

Ответ 2

У меня та же проблема:(

Мое обходное решение:

  • Снизьте Entity Framework до версии 6.1 (по крайней мере, новый графический интерфейс NuGet делает это очень просто)
  • Запустите команду (например, Add-Migration ...) в консоли диспетчера пакетов. Кажется, он работает в этой версии
  • Вернитесь назад к Entity Framework v6.1.3

Ответ 3

Кажется, что это распространенная проблема, но, видимо, трудно репо?

Ошибка включения-миграции # 1950

Предложите вам добавить свои данные о проблемах выше, в надежде, что их можно быстро решить.

Ответ 4

По комментарий yishaigalatzer об ошибке EF # 1950, теперь выпущен NuGet 3.0 RC2, который должен устранить эту проблему. Просто скачайте VSIX из codeplex и установите его.

Это решило проблему для меня.

Ответ 5

Я нашел временное решение: Комментируйте <package id="EntityFramework" version="6.1.3" targetFramework="net46" userInstalled="true" /> всего своего "package.config", оставляя без комментирования только проект, с которым вы хотите работать с Migrations.

Команда EntityFramework (https://github.com/aspnet/EntityFramework/issues/1950) и NuGet (https://github.com/NuGet/Home/issues/528) знают о проблеме, и вскоре мы получим окончательное решение.

Ответ 6

В моем случае я просто:

1. Закрыто VS.
2. Удалил пакет Entity Framework из папки с пакетами вручную.
3. Открытый проект и восстановленные пакеты.

Это сработало для меня.