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

Ответ 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. Открытый проект и восстановленные пакеты.

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