Руководство. Создание библиотеки классов .NET с помощью Visual Studio Code
В этом руководстве вы создадите простую служебную библиотеку, содержащую один метод обработки строк.
Библиотека классов определяет типы и методы, вызываемые приложением. Если библиотека предназначена для .NET Standard 2.0, ее можно вызвать любой реализацией .NET (включая .NET Framework), которая поддерживает .NET Standard 2.0. Если библиотека предназначена для .NET 9, ее можно вызвать любым приложением, предназначенным для .NET 9. В этом руководстве показано, как нацелиться на .NET 9.
При создании библиотеки классов его можно распространить как сторонний компонент или как пакетный компонент с одним или несколькими приложениями.
Необходимые условия
Visual Studio Code с установленным расширением пакета разработки C#. Сведения о том, как устанавливать расширения в Visual Studio Code, см. в магазине расширений VS Code.
Пакет SDK .NET 9.
Создание проекта библиотеки классов
Начните с создания проекта библиотеки классов .NET с именем StringLibrary и связанного решения. Решение служит контейнером для одного или нескольких проектов. Вы добавите дополнительные связанные проекты в то же решение.
Запустите Visual Studio Code.
Перейдите в представление обозревателя и выберите Создать проект .NET. Кроме того, можно создать палитру команд с помощью ctrl+SHIFT+P (Command+SHIFT+P в MacOS), а затем ввести .NET и выбрать команду .NET: Создать проект.
После выбора команды необходимо выбрать шаблон проекта. Выберите библиотеку классов.
Затем выберите расположение, в котором будет создан новый проект.
Затем выберите расположение, в котором будет создан новый проект: создайте папку с именем
ClassLibraryProjects
и выберите ее.Назовите проект StringLibrary, выберите Показать все параметры шаблона, выберите .NET 9 и выберите Создать проект.
Назовите проект StringLibrary и выберите Создать проект.
Нажмите клавишу ВВОД в командной строке, проект будет создан по пути <>.
Убедитесь, что библиотека предназначена для .NET 9. В обозревателе откройте StringLibrary/StringLibrary.csproj.
Элемент
TargetFramework
показывает, что проект предназначен для .NET 9.0.<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFramework>net9.0</TargetFramework> </PropertyGroup> </Project>
Откройте Class1.cs и замените код следующим кодом.
using System; namespace UtilityLibraries { public static class StringLibrary { public static bool StartsWithUpper(this string str) { if (string.IsNullOrWhiteSpace(str)) return false; char ch = str[0]; return char.IsUpper(ch); } } }
Библиотека классов,
UtilityLibraries.StringLibrary
, содержит метод с именемStartsWithUpper
. Этот метод возвращает значение Boolean, указывающее, начинается ли текущий экземпляр строки с символом верхнего регистра. Стандарт Юникод отличает прописные символы от строчных символов. Метод Char.IsUpper(Char) возвращаетtrue
, если символ является верхним регистром.StartsWithUpper
реализуется как метод расширения, чтобы можно было вызвать его, как если бы он был членом класса String.Сохраните файл.
Разверните обозревателя решений
в нижней части представления обозревателя . Щелкните правой кнопкой мыши по решению в обозревателе решений и выберите Сборкаили откройте палитру команд и выберите .NET: сборка, чтобы создать решение и убедиться, что проект компилируется без ошибок.
Выходные данные терминала выглядят следующим образом:
Microsoft (R) Build Engine version 17.8.0+b89cb5fde for .NET Copyright (C) Microsoft Corporation. All rights reserved. Determining projects to restore... All projects are up-to-date for restore. StringLibrary -> C:\Projects\ClassLibraryProjects\StringLibrary\bin\Debug\net9.0\StringLibrary.dll Build succeeded. 0 Warning(s) 0 Error(s) Time Elapsed 00:00:02.78
Добавление консольного приложения в решение
Добавьте консольное приложение, использующее библиотеку классов. Приложение предложит пользователю ввести строку и сообщить, начинается ли строка с символом верхнего регистра.
Щелкните правой кнопкой мыши решение в обозревателе решений
и выберите новый проект или в палитре команд выберите.NET: новый проект .Выберите консольное приложение.
Присвойте ему имя ShowCase, выберите расположение по умолчанию и выберите Создать проект.
Откройте ShowCase/Program.cs и замените весь код следующим кодом.
using System; using UtilityLibraries; class Program { static void Main(string[] args) { int row = 0; do { if (row == 0 || row >= 25) ResetConsole(); string? input = Console.ReadLine(); if (string.IsNullOrEmpty(input)) break; Console.WriteLine($"Input: {input} {"Begins with uppercase? ",30}: " + $"{(input.StartsWithUpper() ? "Yes" : "No")}{Environment.NewLine}"); row += 3; } while (true); return; // Declare a ResetConsole local method void ResetConsole() { if (row > 0) { Console.WriteLine("Press any key to continue..."); Console.ReadKey(); } Console.Clear(); Console.WriteLine($"{Environment.NewLine}Press <Enter> only to exit; otherwise, enter a string and press <Enter>:{Environment.NewLine}"); row = 3; } } }
Код использует переменную
row
для поддержания количества строк данных, записанных в окно консоли. Каждый раз, когда оно больше или равно 25, код очищает окно консоли и отображает сообщение пользователю.Программа предложит пользователю ввести строку. Указывает, начинается ли строка с прописным символом. Если пользователь нажимает клавишу ВВОД без ввода строки, приложение заканчивается, а окно консоли закрывается.
Сохраните изменения.
Добавление ссылки на проект
Изначально новый проект консольного приложения не имеет доступа к библиотеке классов. Чтобы разрешить ему вызывать методы в библиотеке классов, создайте ссылку на проект библиотеки классов.
В обозревателе решений щелкните правой кнопкой мыши на проекте ShowCase и выберите Добавить ссылку на проект.
Выберите StringLibrary.
Запуск приложения
Выберите запустить>запуск без отладки.
Выберите C#.
Выберите ShowCase.
Если вы получите сообщение об ошибке, в котором говорится, что программа C# не загружена, закройте текущую открытую папку и откройте папку
ShowCase
. Затем повторите попытку запуска приложения.Попробуйте испытать программу, введя строки и нажав ВВОД, затем нажмите ВВОД, чтобы выйти.
Выходные данные терминала выглядят следующим образом:
Press <Enter> only to exit; otherwise, enter a string and press <Enter>: A string that starts with an uppercase letter Input: A string that starts with an uppercase letter Begins with uppercase? : Yes a string that starts with a lowercase letter Input: a string that starts with a lowercase letter Begins with uppercase? : No
Дополнительные ресурсы
Дальнейшие действия
В этом руководстве вы создали проект библиотеки и добавили проект консольного приложения, использующего библиотеку. В следующем руководстве вы добавите в решение проект модульного теста.