Имя add migration не распознано как имя командлета
Перейти к содержимому

Имя add migration не распознано как имя командлета

  • автор:

Имя «EntityFrameworkCore\Add-Migration» не распознано как имя командлета

Author24 — интернет-сервис помощи студентам

Имя «.» не распознано как имя командлета, функции, файла сценария или выполняемой программы
Всем добрый день! Только недавно начал изучать Python и начал с редактора Pycharm. Установку.

Имя «pip» не распознано как имя командлета, функции, файла сценария или выполняемой программы
ситуация следующая: я хочу научиться писать ботов в телеграмме, но вот печаль, я пользуюсь visual.

ocsetup не распознано как имя командлета
Здравствуйте! установил wincore, хочу воспользоваться командами oclist, ocsetup пишет "не.

Сообщение об ошибке «Имя. не распознано как имя командлета, функции, файла сценария. » при вызове функции
Добрый день уважемые коллеги. Написал простой скрипт который мониторит создались ли файлы с.

Conda : Имя «conda» не распознано как имя командлета, функции, файла сценария или выполняемой программы
Я вообще практически не понимаю Python. Просто мой проект требует написания на Python’e которого я.

Администратор

Эксперт .NET

16746 / 13156 / 5155
Регистрация: 17.03.2014
Сообщений: 26,825
Записей в блоге: 1

vitas007, команда называется Add-Migration . В PowerShell все команды выглядят как набор слов через тире.

Добавлено через 47 секунд
Откуда вы вообще взяли команду EntityFrameworkCore\Add-Migration ?

Термин ‘add-migration’ не распознан как имя командлета.

Так что случайно с одного дня на другой мои миграции перестали работать. Я делаю дополнение и в нем сказано, что оно не распознается. Я использую PM, так как это asp.net mvc и работал день назад.

Дополнение миграции: Термин ‘дополнение миграции’ не распознается как имя командлета, функции, файла скрипта или операционной программы. Проверьте правописание имени или, если путь был включен, убедитесь, что путь правильный, и попробуйте снова.

Поделиться Источник 10 августа 2017 в 14:18

9 ответов

Это не совсем проблема, с которой сталкивается ОП, но, по крайней мере, для dotnet core это также может быть вызвано отсутствием установленного пакета Microsoft.EntityFrameworkCore.Tools , который используется для команд менеджера пакетов в Visual Studio и командной строке.

Поделиться 18 ноября 2017 в 09:17

Что мне пришлось сделать. 1) Инструменты -> Nuget Package Manger -> Настройки Package Manager 2) Общая вкладка 3) Очистить все кэши NuGet (кэши) 4) Перезапустить Visual Studio

Поделиться 02 сентября 2017 в 21:47

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

Поделиться 11 сентября 2017 в 00:36

enter image description here

Я подозреваю, что ваш проект по умолчанию нужно установить, как упомянул Кирк Ларкин в комментариях. Нажмите на выпадающий список в проекте по умолчанию и установите его в том, на каком проекте у вас установлен entity framework. Также эта ссылка может помочь, если ваш проект по умолчанию не будет заполнен Выпадающий список проекта по умолчанию в консоли менеджера пакетов NuGet пуст Надеюсь, это поможет! Если не дадите мне знать, и я удалю ответ (мне пришлось использовать ответ, потому что я не могу комментировать его в 50 ответах) Ура!

Поделиться 10 августа 2017 в 15:01

  1. В Visual Studio в меню «Сервис» выберите опцию «Расширения и обновления».
  2. Из появившегося диалога разверните узел «Обновления» из дерева в левой части.
  3. Выберите опцию «Галерея Visual Studio» из дерева.
  4. Наконец, найдите обновление менеджера пакетов в списке обновлений в правой части диалога и нажмите кнопку «Обновить» рядом с ним.

Это обновление объемом около 5 — 10 МБ, после обновления попробуйте получить справку по добавлению

Поделиться 09 ноября 2019 в 02:54

  1. В консоли nuget проверьте, выбран ли правильный проект по умолчанию.
  2. Установите этот проект как запуск проекта

Поделиться 20 марта 2018 в 10:44

Я переустановил менеджер пакетов Nuget и это сработало для меня. После этого я удалил предыдущую версию, 2.0.x, а затем установил версию 2.8.x

Поделиться 02 апреля 2019 в 08:44

Еще проще для меня, просто повторный запуск VS2017 исправил это. У меня не было этого, пока я не стал профессионалом в VS 2017, поэтому это может быть проблемой для других в последней версии.

Поделиться 19 сентября 2017 в 15:39

Если вы столкнулись с этой проблемой в Visual Studio для Mac, просто переустановите расширение Nuget Package Manager Console. Это решит вашу проблему

Имя add migration не распознано как имя командлета

Данное руководство устарело. Актуальное руководство: Руководство по ASP.NET Core 7

Последнее обновление: 16.11.2019

Создадим первое простенькое приложение на ASP.NET Core MVC, которое призвано дать понимание, как работает данная платформа. Вначале создадим новый проект. Назовем его MobileStore . В качестве шаблона проекта выберем Web Application (View-Model-Controller):

Веб-сайт на ASP.NET Core MVC

Наше приложение будет очень простым и будет представлять магазин смартфонов. Какие основные функции у любого магазина — предоставлять товар на продажу и принимать заказы на товар. В связи с этим мы можем выделить прежде всего две модели: модель смартфона и модель заказа.

Итак, в проекте уже есть папка для хранения моделей — папка Models , поэтому поместим в нее новый класс, который назовем Phone и который будет представлять модель смартфона:

public class Phone < public int Id < get; set; >public string Name < get; set; >public string Company < get; set; >public int Price < get; set; >>

Модель телефона имеет четыре свойства: Id, название, производитель и цена.

И также добавим в папку Models новый класс, который будет представлять заказ:

public class Order < public int OrderId < get; set; >public string User < get; set; >// имя фамилия покупателя public string Address < get; set; >// адрес покупателя public string ContactPhone < get; set; >// контактный телефон покупателя public int PhoneId < get; set; >// ссылка на связанную модель Phone public Phone Phone < get; set; >>

Здесь все свойства довольно простые кроме двух последних. Два последних свойства вместе представляют внешний ключ на связанную модель Phone.

После определения моделей надо выбрать хранилище данных для этих моделей. Мы будем использовать MS SQL Server. Для работы с MS SQL Server компания Microsoft рекомендует использовать ORM-технологию Entity Framework, хотя ее использование необязательно. Мы также можем применять другие ORM-технологии или доступные средства ADO.NET. Преимущество фреймворка Entity Framework состоит в том, что он позволяет абстрагироваться от структуры конкретной базы данных и вести все операции с данными через модель.

В данном случае для взаимодействия с MS SQL Server через Entity Framework нам нужен пакет Microsoft.EntityFrameworkCore.SqlServer . Поэтому добавим данный пакет через пакетный менеджер NuGet:

Microsoft.EntityFrameworkCore.SqlServer

Чтобы взаимодействовать с базой данных нам нужен контекст данных. Причем Entity Framework Core использует подход Code First, при котором нам надо сначала определить модели и контекст данных, а потом уже исходя и этих моделей и класса контекста будет создаваться бд и все ее таблицы.

Поэтому добавим в папку Models новый класс, который назовем MobileContext и который будет иметь следующий код:

using Microsoft.EntityFrameworkCore; namespace MobileStore.Models < public class MobileContext : DbContext < public DbSetPhones < get; set; >public DbSet Orders < get; set; >public MobileContext(DbContextOptions options) : base(options) < Database.EnsureCreated(); >> >

Чтобы создать контекст, нам надо унаследовать новый класс от класса DbContext . Свойства наподобие public DbSet Phones < get; set; >помогают получать из БД набор данных определенного типа (например, набор объектов Phone). Фактически каждое свойство DbSet будет соотноситься с отдельной таблицей в базе данных.

По умолчанию у нас база данных отсутствуют. Поэтому в конструктор MobileContext определен вызов Database.EnsureCreated() , который при отсутствии базы данных автоматически создает ее. Если база данных уже есть, то ничего не происходит.

Чтобы подключаться к базе данных, нам надо задать параметры подключения. Для этого изменим файл appsettings.json . По умолчанию он содержит только настройки логгирования:

 < "Logging": < "LogLevel": < "Default": "Information", "Microsoft": "Warning", "Microsoft.Hosting.Lifetime": "Information" >>, "AllowedHosts": "*" >

Теперь изменим его, добавив определение строки подключения:

< "ConnectionStrings": < "DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=mobilestoredb;Trusted_Connection=True;MultipleActiveResultSets=true" >, "Logging": < "LogLevel": < "Default": "Information", "Microsoft": "Warning", "Microsoft.Hosting.Lifetime": "Information" >>, "AllowedHosts": "*" >

В данном случае мы будем использовать упрощенный движок базы данных LocalDB, который представляет легковесную версию SQL Server Express, предназначенную специально для разработки приложений. Об этом говорит параметр Server=(localdb)\\mssqllocaldb . Ну а сама база данных будет называться mobilestoredb .

И последним шагом в настройке проекта является изменение файла Startup.cs. В нем нам надо изменить метод ConfigureServices() :

using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using MobileStore.Models; // пространство имен моделей using Microsoft.EntityFrameworkCore; // пространство имен EntityFramework using Microsoft.Extensions.Hosting; namespace MobileStore < public class Startup < public Startup(IConfiguration configuration) < Configuration = configuration; >public IConfiguration Configuration < get; >public void ConfigureServices(IServiceCollection services) < string connection = Configuration.GetConnectionString("DefaultConnection"); services.AddDbContext(options => options.UseSqlServer(connection)); services.AddControllersWithViews(); > public void Configure(IApplicationBuilder app) < app.UseDeveloperExceptionPage(); app.UseStaticFiles(); app.UseRouting(); app.UseEndpoints(endpoints =>< endpoints.MapControllerRoute( name: "default", pattern: "//"); >); > > >

«термин ‘add-migration’ не признается как имя командлета» visual studio 2019

enter image description here

Я пытаюсь использовать entity frame work core и открываю новый проект asp.net core. Когда я пытаюсь установить Microsoft.EntityFrameworkCore.SqlServer через менеджер пакетов nuget, я получаю следующую ошибку.

Package Microsoft.EntityFrameworkCore.SqlServer 3.0.0 is not compatible with net461 (.NETFramework,Version=v4.6.1). Package Microsoft.EntityFrameworkCore.SqlServer 3.0.0 supports: netstandard2.1 (.NETStandard,Version=v2.1) 

Когда я нажимаю это, я получаю отправку в файл.csproj. В этом файле я изменил целевой фреймворк с net461 на netstandard2.1 , как это подразумевает ошибка. Это избавляет от ошибки, но когда я использую команду ‘add-migration’ в консоли менеджера пакетов, я получаю эту ошибку.

"The term 'add-migration' is not recognized as the name of a cmdlet" 

enter image description here

Я не уверен, что мне делать дальше. Пожалуйста, помогите. Надеюсь, я понятно объяснил проблему. Удаление файла project.assets или обновление файла nuget package manger и использование команды «enable-migrations» также не сработало. c# asp.net-core entity-framework-core code-first

Поделиться Источник 04 октября 2019 в 09:51

4 ответа

  1. Установить-Пакуйте Microsoft.EntityFrameworkCore.Tools
  2. Обновить-Пакуйте Microsoft.EntityFrameworkCore.Tools
  3. Получить-Помогите about_EntityFrameworkCore

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *