Полное руководство по языку программирования С# 14 и платформе .NET 10 / Классы, структуры и пространства имен

Установка пакетов Nuget

Начальный ⏱ 3 мин чтения 👁 2 🕓 обновлено 11.08.2026

Вместо создания своих собственных библиотек и определения своего собственного функционала мы можем использовать уже ранее созданные другими разработчиками библиотеки и добавить их свой проект. Для управления внешними библиотеками в виде отдельных пакетов 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 указывается имя пакета:

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


<ItemGroup>
	<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
</ItemGroup>

Здесь мы видим атрибут 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 {get;set;}
    public int Age {get;set;}
    public Person(string name, int age)
    {
        Name = name;
        Age = age;
    }
}

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

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

{"Name":"Tom","Age":38}

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

dotnet remove package Newtonsoft.Json

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

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

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

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

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

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

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

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

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

Install-Package Newtonsoft.Json

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

Проверь себя

📋 Тест по теме «Установка пакетов Nuget» Тест по теме

Практические задания

Лёгкое Ручная проверка Заполните пропуск в коде (1)
+10 XP

В приведённом ниже фрагменте кода из этого урока пропущено одно слово. Определите его и впишите в поле ответа (без кавычек и пробелов).

_____ new console
Войдите, чтобы отправить решение
Лёгкое Ручная проверка Заполните пропуск в коде (2)
+10 XP

В приведённом ниже фрагменте кода из этого урока пропущено одно слово. Определите его и впишите в поле ответа (без кавычек и пробелов).

dotnet _____ package Newtonsoft.Json
Войдите, чтобы отправить решение
Лёгкое Ручная проверка Заполните пропуск в коде (3)
+10 XP

В приведённом ниже фрагменте кода из этого урока пропущено одно слово. Определите его и впишите в поле ответа (без кавычек и пробелов).

<ItemGroup>
	<PackageReference _____="Newtonsoft.Json" Version="13.0.1" />
</ItemGroup>
Войдите, чтобы отправить решение
Лёгкое Ручная проверка Заполните пропуск в коде (4)
+10 XP

В приведённом ниже фрагменте кода из этого урока пропущено одно слово. Определите его и впишите в поле ответа (без кавычек и пробелов).

using Newtonsoft._____;  // подключаем пространство имен из пакета Newtonsoft.Json

Person tom = new Person("Tom", 38);
// сериализуем объект tom в код json
string json = JsonConvert.SerializeObject(tom);
Console.WriteLine(json);


class Person
{
    public string Name {get;set;}
    public int Age {get;set;}
    public Person(string name, int age)
    {
        Name = name;
        Age = age;
    }
}
Войдите, чтобы отправить решение
Лёгкое Ручная проверка Заполните пропуск в коде (5)
+10 XP

В приведённом ниже фрагменте кода из этого урока пропущено одно слово. Определите его и впишите в поле ответа (без кавычек и пробелов).

{"_____":"Tom","Age":38}
Войдите, чтобы отправить решение
Среднее Ручная проверка Восстановите код по памяти (1)
+20 XP

В этом фрагменте кода урока пропущены два ключевых элемента. Впишите оба пропущенных значения через запятую в порядке появления (например: x, 5).

dotnet _____ _____
Войдите, чтобы отправить решение
Среднее Ручная проверка Восстановите код по памяти (2)
+20 XP

В этом фрагменте кода урока пропущены два ключевых элемента. Впишите оба пропущенных значения через запятую в порядке появления (например: x, 5).

_____ add _____ Newtonsoft.Json
Войдите, чтобы отправить решение
Среднее Ручная проверка Расставьте строки кода в правильном порядке
+20 XP

Строки кода из примера этого урока перемешаны. Впишите их в правильном порядке, каждую строку — с новой строки.

	<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
</ItemGroup>
<ItemGroup>
Войдите, чтобы отправить решение
Сложное Ручная проверка Объясните и модифицируйте пример из урока «Установка пакетов Nuget»
+30 XP

Опишите своими словами, что делает приведённый пример кода из урока «Установка пакетов Nuget», и предложите одно осмысленное изменение (например, другое входное значение или дополнительное условие). Приведите итоговый код.

dotnet new console
Войдите, чтобы отправить решение
Сложное Ручная проверка Найдите потенциальную проблему в коде урока «Установка пакетов Nuget»
+30 XP

Изучите приведённый фрагмент кода и опишите, при каких входных данных или условиях он может сработать не так, как ожидается (граничный случай, отсутствие проверки и т.п.). Предложите исправленный вариант.

dotnet add package Newtonsoft.Json
Войдите, чтобы отправить решение
Мини-проект Ручная проверка Мини-проект по теме «Установка пакетов Nuget»
+50 XP

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

Войдите, чтобы отправить решение
Домашнее задание Ручная проверка Домашнее задание по теме «Установка пакетов Nuget»
+25 XP

Напишите собственную небольшую программу, применяющую материал темы «Установка пакетов Nuget». Используйте не менее одной конструкции, показанной в примерах урока. Прикрепите код решения и краткое описание того, что он делает.

Войдите, чтобы отправить решение

Обсуждение (0)

Войдите, чтобы оставить комментарий.