Термин «Add-Migration» не признается

Я использую этоMSDN Учебник запустить в VS2015 командуPM> Add-Migration MyFirstMigration -context BloggingContext вчера успешно запускался, но сегодня выдает следующую ошибку, на которую также указывают другие пользователиВот, Я даже удалил папку Migrations из Solution Explorer и соответствующую базу данных изSQL Express 2014 on Win 8.1 но та же ошибка. Даже если я бегуAdd-Migration MyFirstMigration Я получаю ту же ошибку:

Add-Migration : The term 'Add-Migration' is not recognized as the name of a cmdlet, function, script file, or operable program. 
Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:1
+ Add-Migration MyFirstMigration -context BloggingContext
+ ~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (Add-Migration:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

Заметка: Я использую последнюю версию ASP.NET Core 1.0 и VS2015 - обновление 3, выпущенное 27 июня 2016 г.

ОБНОВИТЬ

Следующие команды прекрасно работают из каталога проекта в проводнике Windows при использовании окна команд:

> dotnet ef migrations add MyFirstMigration --context BloggingContext
> dotnet ef database update --context BloggingContext

ОБНОВЛЕНИЕ 2а

Ниже приведен файл project.json:

{
  "userSecretsId": "aspnet-ASPCore_RTM_CodeFirst_test-bef835d9-9831-41a8-bc3a-cd2f1477a880",

  "dependencies": {
    "Microsoft.NETCore.App": {
      "version": "1.0.0",
      "type": "platform"
    },
    "Microsoft.AspNetCore.Authentication.Cookies": "1.0.0",
    "Microsoft.AspNetCore.Diagnostics": "1.0.0",
    "Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore": "1.0.0",
    "Microsoft.AspNetCore.Identity.EntityFrameworkCore": "1.0.0",
    "Microsoft.AspNetCore.Mvc": "1.0.0",
    "Microsoft.AspNetCore.Razor.Tools": {
      "version": "1.0.0-preview2-final",
      "type": "build"
    },
    "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0",
    "Microsoft.AspNetCore.Server.Kestrel": "1.0.0",
    "Microsoft.AspNetCore.StaticFiles": "1.0.0",
    "Microsoft.EntityFrameworkCore.SqlServer": "1.0.0",
    "Microsoft.EntityFrameworkCore.SqlServer.Design": {
      "version": "1.0.0",
      "type": "build"
    },
    "Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final",
    "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0",
    "Microsoft.Extensions.Configuration.Json": "1.0.0",
    "Microsoft.Extensions.Configuration.UserSecrets": "1.0.0",
    "Microsoft.Extensions.Logging": "1.0.0",
    "Microsoft.Extensions.Logging.Console": "1.0.0",
    "Microsoft.Extensions.Logging.Debug": "1.0.0",
    "Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0",
    "Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0",
    "Microsoft.VisualStudio.Web.CodeGeneration.Tools": {
      "version": "1.0.0-preview2-final",
      "type": "build"
    },
    "Microsoft.VisualStudio.Web.CodeGenerators.Mvc": {
      "version": "1.0.0-preview2-final",
      "type": "build"
    }
  },

  "tools": {
    "BundlerMinifier.Core": "2.0.238",
    "Microsoft.AspNetCore.Razor.Tools": "1.0.0-preview2-final",
    "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview2-final",
    "Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final",
    "Microsoft.Extensions.SecretManager.Tools": "1.0.0-preview2-final",
    "Microsoft.VisualStudio.Web.CodeGeneration.Tools": {
      "version": "1.0.0-preview2-final",
      "imports": [
        "portable-net45+win8"
      ]
    }
  },

  "frameworks": {
    "netcoreapp1.0": {
      "imports": [
        "dotnet5.6",
        "portable-net45+win8"
      ]
    }
  },

  "buildOptions": {
    "emitEntryPoint": true,
    "preserveCompilationContext": true
  },

  "runtimeOptions": {
    "configProperties": {
      "System.GC.Server": true
    }
  },

  "publishOptions": {
    "include": [
      "wwwroot",
      "Views",
      "Areas/**/Views",
      "appsettings.json",
      "web.config"
    ]
  },

  "scripts": {
    "prepublish": [ "bower install", "dotnet bundle" ],
    "postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ]
  }
}
 Bassam Alugili03 июл. 2016 г., 23:06
напиши пожалуйста свой проект. json хочу посмотреть твои посылки
 Gaurav Aroraa10 янв. 2017 г., 21:39
Эта проблема должна быть решена после закрытия Visual Studio. Обратитесь к этой ссылкеdocs.microsoft.com/en-us/ef/core/get-started/aspnetcore/new-db разделCreating Database для дополнительной информации.
 SHAH MD IMRAN HOSSAIN03 июн. 2018 г., 09:56
как посмотреть project.json, я в VS2017 и у меня такая же проблема
 nam04 июл. 2016 г., 00:10
@BassamAlugili согласно вашему запросу, я добавил в свое сообщение ОБНОВЛЕНИЕ 2, чтобы добавить соответствующий раздел файла peoject.json. Пожалуйста, дайте мне знать, если вам нужно больше информации
 Bassam Alugili04 июл. 2016 г., 08:43
Вы получили ответ от @briceIam (команда EF). Я думаю, что это сработает!
 Tseng03 июл. 2016 г., 22:07
Пожалуйста, не вставляйте теги в заголовок
 HockeyJ28 нояб. 2016 г., 21:47
Для удобства поисковиков я решил аналогичную проблему, закрыв ВСЕ экземпляры Visual Studio и начав заново. Может сэкономить кому-то немного времени.
 nam04 июл. 2016 г., 17:39
@BassamAlugili Я добавил все содержимое файла project.json в раздел UPDATE 2 моего поста. Пожалуйста, смотрите мои комментарии под ответом от@bricelam, Чего мне не хватает?

Ответы на вопрос(16)

и я обнаружил, что это была проблема управления версиями в Visual Studio в файле решения.

Я был нацелен на:

VisualStudioVersion = 14.0.25123.0

Но мне нужно было нацелиться:

VisualStudioVersion = 14.0.25420.1

После внесения этого изменения непосредственно в файл решения командлеты EF Core начали работать в консоли диспетчера пакетов.

 nam08 июл. 2016 г., 17:40
Спасибо за попытку помочь. Я использую версию14.0.25421.03 Update 3 это даже выше, чем вы используете.

исправило" проблему ...

й пакет .net core 2.0 и снова запустил команды, и это сработало.

 Tyrone Moodley15 авг. 2017 г., 16:20
.NET Core 2.0 доступен со вчерашнего дня 14 августа 2017 года, как финальная версия.blogs.msdn.microsoft.com/dotnet/2017/08/14/...
 nam15 авг. 2017 г., 05:14
Теперь стабильно работает .net core 2.0, поэтому проект можно обновить с1.1.1 в2.0?

Entity-Framework версия. Также после этого вы должны проверитьproject.json и контролировать эти разделы:

Взависимости

проверять:

Microsoft.EntityFrameworkCore.Tools": {
  "version": "1.0.0-preview2-final",
  "type": "build"
},

Эта секция:

"версия": "1.0.0-preview2-final",

связано с версией вашегоEntity-Framework и вы должны изменить это с этим.

После этого второй разделproj.json здесь, вTools разделJSON у тебя есть:

"Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final",

Также эта часть кода связана с вашимEntity-Framework и последняя часть кода взависимости раздел.

Замечания: После этого вы должны закрытьCMD и перезапустите визуальную студию.

та же проблема ... решена донг следующие

1.) закрыть менеджер вечера 2.) закрыть Visual Studio 3.) открыть Visual Studio 4.) открыть менеджер вечера

кажется, дело в том, чтобы закрыть PM Manager перед закрытием VS

 Malik Khalil04 нояб. 2018 г., 11:39
Да, перезагрузка PM и VS - это решение. Это происходит, когда мы открываем проект в последней визуальной студии, которая была ранее создана в более старой. При открытии такого кода VS пытается выполнить несколько автоматических настроек. Эти изменения можно увидеть правильно, только перезапуская PM и VS.

Вот шаги, которые я выполнил, и это решило проблему

1) Обновлен мой Power Shell с версии 2 до 3

2) Закрыта консоль ПМ

3) Перезапущен Visual Studio

4) Выполнить приведенную ниже команду в PM Console dotnet restore

5) Начальная миграция Add-Migration

Это сработало !!!

и ни одно из предыдущих решений не помогло мне. Моя проблема была на самом деле из-за устаревшей версии powershell на моем компьютере с Windows 7 - как только я обновился до powershell 5, он начал работать.

1) Открытьproject.json файл иУдалить все ссылки на Microsoft.EntityFrameworkCore.Tools отзависимости а такжеинструменты разделы.

2)близко Консоль диспетчера пакетов (PMC) а такжезапустить снова Visual Studio

3)добавлять подзависимости раздел:

 "Microsoft.EntityFrameworkCore.Tools": {
  "version": "1.0.0-preview2-final",
  "type": "build"
 }

4)добавлять подинструменты раздел

"Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final"

5)Запустить снова снова Visual Studio 2015

6)открыто PMC и введите

Add-Migration $Your_First_Migration_Name$

Это происходит потому, чтоPMC распознавать инструменты при запуске Visual Studio.

 Gianpolo30 янв. 2017 г., 14:47
Пожалуйста, отметьте как принято! Спасибо
 thiago.adriano2630 мар. 2017 г., 16:40
спасибо, это работа хорошо для меня;)
 malkassem14 янв. 2017 г., 18:40
Это то, что сработало для меня. Спасибо
 Prasad Honrao31 янв. 2017 г., 12:33
Работал для меня, большое спасибо
 Ryan Murphy07 мар. 2017 г., 15:58
Я могу едва пройти через час кодирования на VS2015 без необходимости что-либо перезапускать / переустанавливать ...

е самое в инструментах.

"tools": {
    "Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final"
}

Это работало хорошо на всех, кроме одного проекта. Я изменил запись в инструментах на

"tools": {
    "Microsoft.EntityFrameworkCore.Tools": {
    "version": "1.0.0-preview2-final",
    "type": "build"
  }
}

А потом побежалdotnet restore, После завершения восстановленияAdd-Migration работал нормально.

. В личку выполнить

C:\Users\<username>\.nuget\packages\Microsoft.EntityFrameworkCore.Tools\1.0.0-preview2-final\tools\init.ps1.

Это помогло мне с той же проблемой. Версия инструментов может отличаться. Это зависит от того, что вы используете в своем проекте.

 William Leader01 сент. 2017 г., 22:35
Для меня я использую относительный путь. \ Packages \ Microsoft.EntityFrameworkCore.Tools.1.1.0 \ tools \ init.ps1 Это потому, что текущий каталог PM уже является каталогом Solution, но для меня пакет Tools является частью Решение. Лично я считаю, что это лучшее решение, так как нет перезапуска, редактирования, переустановки. Это занимает мгновение, и это работает.

обеспечиватьMicrosoft.EntityFrameworkCore.Tools упоминается вdependencies раздел вашегоproject.json, NuGet не будет загружать команды диспетчера пакетов изtools раздел. (УвидетьNuGet / Home # 3023)

{
  "dependencies": {
    "Microsoft.EntityFrameworkCore.Tools": {
      "version": "1.0.0-preview2-final",
      "type": "build"
    }
  }
}
 Kolya_Net05 июл. 2016 г., 08:23
У меня также есть эти симптомы. Я использую Visual Studio 2015 Обновление 3
 bricelam06 июл. 2016 г., 05:39
Пытатьсярегистрация ошибки на NuGet с воспроизводимыми шагами и большим количеством информации об окружающей среде. Я упоминал проблемы в этой области перед командой, но они никогда не могли их воспроизвести.
 Jefecito17 июн. 2017 г., 08:03
Я использую VS2017 ASP.NET Core и была такая же проблема. Этот ответ решил и это!
 nam04 июл. 2016 г., 17:33
Я скопировал все содержимое файла project.json в ОБНОВЛЕНИЕ 2 моего поста.Microsoft.EntityFrameworkCore.Tools также внутри раздела зависимостей.Add-Migration а такжеUpdate-Database Команды, как указано в руководстве, работали накануне вечером. Но когда я попробовал их на следующее утро после внесения незначительных изменений в мою модель и попробовал эти команды снова, они дали сообщение об ошибке, описанное в моем посте. Я даже удалил папку миграции и соответствующую базу данных с SQL Server, но после выполнения этих команд я получил то же сообщение об ошибке. Чего мне не хватает?
 Thorsten Westheider31 июл. 2016 г., 15:40
Странно, это решает мою проблему, если я удаляю ее изtools и повторно добавьте его после. Просто переместив его вdependencies приведет к следующему сообщению об ошибке: Невозможно выполнить эту команду, поскольку «Microsoft.EntityFrameworkCore.Tools» не установлен в проекте «src \ <ваш проект>». Добавьте «Microsoft.EntityFrameworkCore.Tools» в раздел «Инструменты» в project.json. Увидетьgo.microsoft.com/fwlink/?LinkId=798221 Больше подробностей.

1) Инструменты -> Диспетчер пакетов Nuget -> Настройки диспетчера пакетов

2) Общая вкладка

3) Очистить все кэши NuGet

4) Перезапустите Visual Studio

Зайдите в консоль диспетчера пакетов (в Visual Studio) и выполните команду ниже

C:\Users\<YOUR_USER>\.nuget\packages\Microsoft.EntityFrameworkCore.Tools\<YOUR_INSTALLED_VERSION>\tools\init.ps1

что ответ должен быть обновлен в 2017 году, так как MS внесла некоторые (критические) изменения, которые подробно описаны здесь.

https://github.com/aspnet/EntityFramework/issues/7053

Подводя итог, теперь вам потребуется ссылка на EntityFrameWorkCore.Tools.DotNet в разделе «Инструменты», как показано ниже.

"Microsoft.EntityFrameworkCore.Tools.DotNet": "1.0.0"

Я также разместил рабочий файл project.json ниже на случай, если у кого-то возникнут проблемы.

{
  "dependencies": {
    "Microsoft.NETCore.App": {
      "version": "1.0.1",
      "type": "platform"
    },
    "Microsoft.AspNetCore.Diagnostics": "1.0.0",
    "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0",
    "Microsoft.AspNetCore.Server.Kestrel": "1.0.1",
    "Microsoft.Extensions.Logging.Console": "1.0.0",
    "Microsoft.AspNetCore.Razor.Tools": {
      "version": "1.0.0-preview2-final",
      "type": "build"
    },
    "Microsoft.AspNetCore.StaticFiles": "1.0.0",
    "Microsoft.AspNetCore.Mvc": "1.0.1",
    "Microsoft.EntityFrameworkCore.SqlServer": "1.0.1",
    "Microsoft.Extensions.Configuration.Json": "1.0.1",
    "Microsoft.EntityFrameworkCore.Tools": {
      "version": "1.0.0-preview2-final",
      "type": "build"
    }
  },

  "tools": {
    "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview2-final",
    "Microsoft.AspNetCore.Razor.Tools": "1.0.0-preview2-final",
    "Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final",
    "Microsoft.EntityFrameworkCore.Tools.DotNet": "1.0.0"
  },

  "frameworks": {
    "netcoreapp1.0": {
      "imports": [
        "dotnet5.6",
        "portable-net45+win8"
      ]
    }
  },

  "buildOptions": {
    "emitEntryPoint": true,
    "preserveCompilationContext": true
  },

  "runtimeOptions": {
    "configProperties": {
      "System.GC.Server": true
    }
  },

  "publishOptions": {
    "include": [
      "wwwroot",
      "web.config"
    ]
  },

  "scripts": {
    "postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ]
  }
}
 Francis27 апр. 2017 г., 06:05
Вам, вероятно, придется перезапустить Visual Studio еще раз.

Просто установитеMicrosoft.EntityFrameworkCore.Tools пакет от nuget:

Установить-пакет Microsoft.EntityFrameworkCore.Tools -Version 2.1.3

Вы также можете использовать эту ссылку для установки последней версии:Ссылка на пакет Nuget

Ваш ответ на вопрос