Перейти к содержимому

Package manager console как открыть

  • автор:

How to open Nuget package manager console in Rider

Rider doesn’t support the NuGet Package Manager Console, but it has support for EF6 migrations.

9,626 146 146 gold badges 81 81 silver badges 122 122 bronze badges
answered May 11, 2019 at 20:51
Mikhail Filippov Mikhail Filippov
780 4 4 silver badges 6 6 bronze badges

    The Overflow Blog
Related
Hot Network Questions

Subscribe to RSS

Question feed

To subscribe to this RSS feed, copy and paste this URL into your RSS reader.

Site design / logo © 2023 Stack Exchange Inc; user contributions licensed under CC BY-SA . rev 2023.10.27.43697

By clicking “Accept all cookies”, you agree Stack Exchange can store cookies on your device and disclose information in accordance with our Cookie Policy.

Package manager console как открыть

Вместо создания своих собственных библиотек и определения своего собственного функционала мы можем использовать уже ранее созданные другими разработчиками библиотеки и добавить их свой проект. Для управления внешними библиотеками в виде отдельных пакетов Microsoft предоставляет специальный менеджер пакетов под названием Nuget .

Физически NuGet-пакет представляет единый архивный файл с расширением .nupkg, который содержит скомпилированный код в виде библиотек dll и других файлов, используемых в коде. Также пакет включает некоторое описание в виде номера версии и вспомогательной информации.

Для упрощения работы с пакетами, их распространенния Microsoft организовал глобальный репозиторий пакетов в виде сервиса nuget.org . И если разработчик хочет поделиться своими наработками, он может загрузить свой код в виде Nuget-пакета в этот репозиторий, а другие разработчики могут скачать этот пакет и использовать его в свой программе. Посмотрим, как устанавливать Nuget-пакеты и использовать их в своем проекте. Прежде всего стоит отметить, что есть различные способы установки пакетов. В данном случае рассмотрим установку пакетов с помощью .NET CLI и в Visual Studio.

Установка nuget-пакетов с помощью .NET CLI

Если мы компилируем приложение непосредственно с помощью .NET CLI без каких-нибудь сред разработки типа Visual Studio, то мы можем воспользоваться встроенными инструментами, которые имеются в .NET SDK.

Для примера создадим с помощью .NET CLI новый проект консольного приложения:

dotnet new console

Для примера возьмем такой популярный Nuget-пакет как Newtonsoft.Json , который предназначен для работы с кодом json. Для этого перейдем в терминале к расположению проекта и выполним команду:

dotnet add package Newtonsoft.Json

После команды dotnet add package указывается имя пакета:

Установка пакета Nuget в проект на C# с помощью .NET CLI

если после этого мы откроем файл конфигурации проекта с расширением csproj , то встретим там элемент PackageReference , который представляет добавленный пакет

Здесь мы видим атрибут Include , который указывает на название пакета для включения в проект, и атрибут Version — версию пакета.

Пакет добавили, теперь используем его. Для этого определим следующий код программы:

using Newtonsoft.Json; // подключаем пространство имен из пакета Newtonsoft.Json Person tom = new Person("Tom", 38); // сериализуем объект tom в код json string json = JsonConvert.SerializeObject(tom); Console.WriteLine(json); class Person < public string Name public int Age public Person(string name, int age) < Name = name; Age = age; >>

С помощью вызова статического метода JsonConvert.SerializeObject(tom) сериализуем объект tom в код json и потом этот код выводим на консоль.

Запустим проект командой dotnet run и посмотрим на результат программы:

Таким образом, мы установили в проект Nuget-пакет и использовали его функциональность в своей программе. Если впоследствии пакет станет не нужен, то его можно удалить командой:

dotnet remove package Newtonsoft.Json

После команды dotnet remove package указывается название удаляемого пакета.

Установка пакета в Visual Studio

Visual Studio обладает богатым функционалом в плане работы с nuget-пакетами. Так, возьмем также простейший проект консольного приложения и добавим в него тот же пакет Newtonsoft.Json . Для этого нажмем правой кнопкой на название проекта и в контекстном меню выберем Manage NuGet Packages. :

Добавление nuget пакетов в проект на C# в Visual Studio

Нам откроется встроенный менеджер пакетов Nuget:

Добавление nuget пакетов в проект в Visual Studio

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

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

Установка nuget пакетов в проект на C# в Visual Studio

После установки в структуре проекта появится узел Packages с установленным пакетом, и соответствующая запись будет внесена в файл конфигурации проекта:

Установка nuget пакета в проект на C# в Visual Studio

И теперь мы также сможем использовать функциональность пакета в программе.

В качестве альтернативы для добавления пакетов можно использовать Package Manager Console . Для этого в меню Visual Studio перейдем к пункту Tools -> NuGet Package Manager -> Package Manager Console . И в открывшемся внизу в Visual Studio окне Package Manager Console введем команду:

Install-Package Newtonsoft.Json

Формат: после команды Install-Package указывается название устанавливаемого пакета.

Visual Studio. Знакомство с NuGet Manager

NuGet Manager – это инструмент, который помогает разработчику управлять сторонними библиотеками (пакетами) в своем проекте.

Под управлением подразумевается поиск, скачивание, установка, настройка, обновление и удаление файлов сторонних разработчиков у себя в приложении. Технически NuGet Manager представляет собой расширение для Visual Studio, доступное программисту в процессе работы над своим проектом. Если вы используете «студию» версии 2012 и выше, то NuGet уже заранее предустановлен и готов к работе. В случае версии 2010 его нужно установить вручную. Его можно скачать либо с официального сайта, либо установить напрямую из Visual Studio через менеджер дополнений. Давайте откроем менеджер. Для этого в Solution Explorer щелкаем правой кнопкой мыши по рабочему проекту и в контекстном меню выбираем пункт «Manage NuGet Packages…»: NuGet Manager открывается в новой вкладке в текстовом редакторе. Интерфейс у него довольно простой. Три главные вкладки:

  1. Browse. Найти и установить нужные нам пакеты из хранилища NuGet
  2. Installed. Список уже установленных в нашем проекте библиотек
  3. Updates. Библиотеки в нашем проекте, которые можно обновить до новой версии

Также в интерфейсе менеджера представлены:

  1. Строка поиска. Мы можем искать нужную нам библиотеку, начав вводить ее название
  2. Кнопка «Обновить состояние окна»
  3. Галочка «Включать в выдачу предрелизные версии библиотек», например, какие-то тестовые или экспериментальные
  4. Выпадающий список Package source. В каком месте менеджер будет искать нужные нам библиотеки
  5. Кнопка «Настройки менеджера»
  6. Главная панель с результатами выдачи (слева)
  7. Панель с описанием того компонента, который мы выбрали (справа)

Попробуем установить какую-нибудь библиотеку к нам в проект, например, Entity Framework. Для этого переходим во вкладку Browse и в строке поиска начинаем вводить название нужного пакета. Далее выбираем его из списка и нажимаем кнопку Install. При необходимости можно выбрать определенную версию, отличную от стабильной последней, а также ознакомиться с информацией о данном пакете (авторы, лицензия и т.д.).

В зависимости от устанавливаемого пакета NuGet Manager также определит все его зависимости, или, другими словами, все дополнительные библиотеки, которые требуются устанавливаемому пакету для полноценной работы. В случае с Entity Framework таких зависимостей нет.

Теперь давайте более детально посмотрим, что конкретно сделал менеджер при установке этого компонента в наш проект:
1. Он определил, что для данного пакета нет никаких сторонних зависимостей. Если бы они были, то менеджер автоматически их определил и подтянул.
2. NuGet Manager добавил ссылку на установленный компонент в наш проект (References):

3. NuGet разместил скачанные файлы в специальной папке Packages, которая находится в корневой папке нашего приложения. Это очень удобно, ссылки в проекте теперь идут на эту папку:

4. В конфигурационный файл packages.config была добавлена запись о новом пакете:

5. В конфигурационный файл приложения web.config также были внесены необходимые изменения, чтобы подготовить компонент Entity Framework к работе:

Вот такие операции происходят, когда NuGet Manager добавляет новую библиотеку к нам в проект.

Подобным образом происходит и обновление, и удаление компонентов из нашего проекта. В случае удаления менеджер также автоматически вносит изменения в файлы нашего проекта – убирает записи из файла packages.config, удаляет соответствующие файлы в папке packages, убирает ссылки на эти библиотеки.

Давайте рассмотрим еще несколько моментов.

С NuGet Manager можно работать не только через графический интерфейс, но и через командную строку (консоль). Чтобы ее открыть, идем Tools -> NuGet Package Manager -> Package Manager Console.

Работа в консоли ничем не отличается от работы в графическом интерфейсе, это дело вкуса.

Управление осуществляется посредством специальных команд. Чтобы вывести в консоль список всех доступных команд нужно написать инструкцию:

get-help NuGet

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

Добавляем пакет Entity Framework в текущий проект:

Install-Package EntityFramework

Обновляем ранее установленный пакет:

Update-Package EntityFramework

Переустанавливаем ВСЕ пакеты во всех проектах в данном решении:

Update-Package -Reinstall

Вы также можете создать и опубликовать свой собственный пакет в репозиторий nuget.org, тем самым сделав его публичным и доступным через NuGet Manager. Для этого нужно соблюсти ряд правил и условий, а также правильно подготовить свой проект к публикации. Опять же всю информацию об этом можно найти в официальной документации.

Подведем краткий итог. NuGet – это просто незаменимый инструмент для разработчика на сегодняшний день. Он автоматизирует весь процесс работы с пакетами в проекте, а именно поиск, скачивание, установка, настройка, обновление и удаление файлов.

В видео версии этого урока более подробно и наглядно показана работа с этим инструментом.

EF Core Package Manager Console

The Package Manager Console is available within Visual Studio by going to Tools » Nuget Package Manager.

If you want to use the Package Manager Console to execute migrations command, you need to ensure that the latest version of Microsoft.EntityFrameworkCore.Tools is added to your project.json file.

The commands that you execute to manage migrations from the Package Manager Console are largely the same as those for Entity Framework 6. The full range of commands can be found by typing get-help entityframework at the PM prompt:

Explain code |

PM> get-help entityframework _/\__ ---==/ \\ ___ ___ |. \|\ | __|| __| | ) \\\ | _| | _| \_/ | //|\\ |___||_| / \\\/\\ TOPIC about_EntityFramework SHORT DESCRIPTION Provides information about Entity Framework commands. LONG DESCRIPTION This topic describes the Entity Framework commands. Entity Framework is Microsoft's recommended data access technology for new applications. The following Entity Framework cmdlets are included. Cmdlet Description -------------------------- --------------------------------------------------- Add-Migration Adds a new migration. Remove-Migration Removes the last migration. Scaffold-DbContext Scaffolds a DbContext and entity type classes for a specified database. Script-Migration Generates a SQL script from migrations. Update-Database Updates the database to a specified migration. Use-DbContext Sets the default DbContext to use. SEE ALSO Add-Migration Remove-Migration Scaffold-DbContext Script-Migration Update-Database Use-DbContext 

You can get further help for specific commands by typing get-help followed by the command name. For example, the following output is generated as a result of typing get-help add-migration :

Add-migration

Explain code |

NAME Add-Migration SYNOPSIS Adds a new migration. SYNTAX Add-Migration [-Name] [-OutputDir ] [-Context ] [-Project ] [-StartupProject ] [-Environment ] [] DESCRIPTION Adds a new migration. 
Notes

The migration files will be placed in a folder name Migrations by default. This will be created in the root of the project unless an alternative location is specified using the -outputdir switch. If you specify an alternative location with outputdir , the value will be rooted in the project directory. It should not be prefixed with a path separator (e.g. ‘/’).

Remove-Migration

Explain code |

NAME Remove-Migration SYNOPSIS Removes the last migration. SYNTAX Remove-Migration [-Force] [-Context ] [-Environment ] [-Project ] [-StartupProject ] [] DESCRIPTION Removes the last migration. RELATED LINKS Add-Migration about_EntityFrameworkCore REMARKS To see the examples, type: "get-help Remove-Migration -examples". For more information, type: "get-help Remove-Migration -detailed". For technical information, type: "get-help Remove-Migration -full". 

Scaffold-DbContext

Explain code |

NAME Scaffold-DbContext SYNOPSIS Scaffolds a DbContext and entity types for a database. SYNTAX Scaffold-DbContext [-Connection] [-Provider] [-OutputDir ] [-Context ] [-Schemas ] [-Tables ] [-DataAnnotations] [-Force] [-Environment ] [-Project ] [-StartupProject ] [] DESCRIPTION Scaffolds a DbContext and entity types for a database. RELATED LINKS about_EntityFrameworkCore REMARKS To see the examples, type: "get-help Scaffold-DbContext -examples". For more information, type: "get-help Scaffold-DbContext -detailed". For technical information, type: "get-help Scaffold-DbContext -full". 

Script-Migration

Explain code |

NAME Script-Migration SYNOPSIS Generates a SQL script from migrations. SYNTAX Script-Migration [-From] [-To] [-Idempotent] [-Context ] [-Environment ] [-Project ] [-StartupProject ] [] Script-Migration [[-From] ] [-Idempotent] [-Context ] [-Environment ] [-Project ] [-StartupProject ] [] DESCRIPTION Generates a SQL script from migrations. RELATED LINKS Update-Database about_EntityFrameworkCore REMARKS To see the examples, type: "get-help Script-Migration -examples". For more information, type: "get-help Script-Migration -detailed". For technical information, type: "get-help Script-Migration -full". 
Notes

The script-migration command will script all migrations, regardless of whether they have been applied or not. If you only want to script the most recent migration, the value to apply to the -from switch is the last migration that was applied. You can read -from as meaning «after», not «including».

Update-Database

Explain code |

NAME Update-Database SYNOPSIS Updates the database to a specified migration. SYNTAX Update-Database [[-Migration] ] [-Context ] [-Environment ] [-Project ] [-StartupProject ] [] DESCRIPTION Updates the database to a specified migration. RELATED LINKS Script-Migration about_EntityFrameworkCore REMARKS To see the examples, type: "get-help Update-Database -examples". For more information, type: "get-help Update-Database -detailed". For technical information, type: "get-help Update-Database -full". 

Date Modified: 2023-02-18
Author: ZZZ Projects

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

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