Создание библиотеки классов с помощью .NET CLI

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

В прошлой теме рассматривалось создание библиотеки классов в Visual Studio и ее подключение в другой проект решения. Рассмотрим, как сделать то же самое, только без Visual Studio, используя .NET CLI.

Прежде всего для создания проекта библиотеки классов в .NET CLI команде dotnet new надо передать шаблон classlib

dotnet new classlib

Например, пусть у нас проект библиотеки классов будет располагаться в папке C:\dotnet\console\mylib. Создадим проект:

C:\Users\eugen>cd C:\dotnet\console\mylib

C:\dotnet\console\mylib>dotnet new classlib
Шаблон "Библиотека классов" успешно создан.

Идет обработка действий после создания...
Восстановление C:\dotnet\console\mylib\mylib.csproj:
  Определение проектов для восстановления...
  Восстановлен C:\dotnet\console\mylib\mylib.csproj (за 79 ms).
Восстановление выполнено.

C:\dotnet\console\mylib>

После выполнения этой команды будет создан проект с файлом кода Class1.cs:

Создание библиотеки классов C# с помощью .NET CLI

Это тот же проект, что создается в Visual Studio. Например, переименуем файл Class1.cs в Person.cs, а класс Class1 в Person. Определим в классе Person простейший код:

namespace MyLib
{
    public class Person
    {
        string name;
        public Person(string name) 
        {
            this.name = name;
        }
        public void Print() => Console.WriteLine($"Name: {name}");
    }
}

Для построения библиотеки классов выполним команду

dotnet build

И после построения в проекте в папке \bin\Debug\net7.0\ можно будет найти файл mylib.dll.

Теперь подключим эту библиотеку в какой-нибудь проект. Для теста создадим новый консольный проект в папке C:\dotnet\console\helloapp (то есть в соседней папке по отношению к проекту mylib):

dotnet new console
Подключение библиотеки классов в проект на C# через .NET CLI

Для добавления ссылки одного проекта в другой применяется команда dotnet add reference, которая имеет следующий общий формат:

dotnet add путь_к_файлу_csproj_главного_проекта reference путь_к_файлу_csproj_подключаемого_проекта

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

dotnet add helloapp.csproj reference ..\mylib\mylib.csproj
Подключение библиотеки классов в консольный проект на C# через .NET CLI

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

using MyLib;    // подключение пространства имен из библиотеки классов

Person tom = new("Tom");
tom.Print();    // Name: Tom

Удаление ссылки на проект

Если надо удалить ссылку, то аналогичным образом применяется команда

dotnet remove путь_к_файлу_csproj_главного_проекта reference путь_к_файлу_csproj_подключаемого_проекта

Создание решения

Для создания решения применяется команда dotnet new sln, которая по умолчанию создает файл решения в текущей папке. Так, перейдем в терминале в папку консольного проекта и выполним команду

dotnet new sln

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

Добавим ранее созданные проекты в решение. Для этого применяется команда dotnet sln add, которая имеет следующий обобщенный формат:

dotnet sln [путь_к_файлу_решения.sln] add путь_к_файлу_csproj_добавляемого_проекта

Если файл решения расположен в текущей папке, то путь к файлу решения можно не указывать. Так, если мы по прежнему находимся в терминале в папке консольного проекта helloapp, выполним последовательно следующие команды

dotnet sln add helloapp.csproj
dotnet sln add ..\mylib\mylib.csproj
Добавление проектов на C# в решение через .NET CLI

Если потом потребуется, наоборот, удалить проект из решения, то применяется команда

dotnet sln [путь_к_файлу_решения.sln] remove путь_к_файлу_csproj_удаляемого_проекта
Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850