Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом руководстве вы создадите простую библиотеку классов, содержащую один метод обработки строк.
Библиотека классов определяет типы и методы, вызываемые приложением. Если библиотека предназначена для .NET Standard 2.0, любая реализация .NET (включая .NET Framework), поддерживающая .NET Standard 2.0, может вызвать ее. Если библиотека предназначена для .NET 10, любое приложение, которое предназначено для .NET 10, может вызвать его. В этом руководстве показано, как нацелить на .NET 10.
При создании библиотеки классов его можно распространить как пакет NuGet или как компонент, упакованный с приложением, использующим его.
Предпосылки
Visual Studio 2026 или более поздней версии с установленной рабочей средой разработки для классических приложений .NET. Пакет SDK для .NET устанавливается автоматически при выборе этой рабочей нагрузки.
Дополнительные сведения см. в разделе "Установка пакета SDK для .NET" с помощью Visual Studio.
Создание решения
Сначала создайте пустое решение для хранения проекта библиотеки классов. Решение Visual Studio служит контейнером для одного или нескольких проектов. Добавьте связанные проекты в то же решение.
Чтобы создать пустое решение, выполните следующие действия.
Запустите Visual Studio.
В окне запуска нажмите кнопку "Создать проект".
На странице "Создание проекта " введите решение в поле поиска. Выберите шаблон пустого решения и нажмите кнопку "Далее".
На странице "Настройка нового проекта " введите ClassLibraryProjects в поле имени решения . Затем нажмите кнопку "Создать".
Создание проекта библиотеки классов
Добавьте в решение новый проект библиотеки классов .NET с именем StringLibrary .
Щелкните правой кнопкой мыши решение в обозревателе решений и выберите пункт "Добавить>новый проект".
На странице "Добавление нового проекта " введите библиотеку в поле поиска. Выберите C# или Visual Basic из списка языков и выберите все платформы из списка платформ. Выберите шаблон библиотеки классов и нажмите кнопку "Далее".
На странице "Настройка нового проекта" введите StringLibrary в поле "Имя проекта " и нажмите кнопку "Далее".
На странице "Дополнительные сведения " выберите .NET 10 и нажмите кнопку "Создать".
Убедитесь, что библиотека ориентирована на правильную версию .NET. Щелкните правой кнопкой мыши проект библиотеки в обозревателе решений и выберите пункт "Свойства". Текстовое поле Target Framework показывает, что проект предназначен для .NET 10.0.
Если вы используете Visual Basic, очистите текст в текстовом поле пространства имен по умолчанию.
Для каждого проекта Visual Basic автоматически создает пространство имен, соответствующее имени проекта. В этом руководстве описано, как определить пространство имен верхнего уровня с помощью
namespaceключевого слова в файле кода.Замените код в окне кода на Class1.cs или Class1.vb следующим кодом и сохраните файл. Если язык, который вы хотите использовать, не отображается, измените селектор языка в верхней части страницы.
namespace UtilityLibraries; public static class StringLibrary { public static bool StartsWithUpper(this string? str) { if (string.IsNullOrWhiteSpace(str)) return false; return char.IsUpper(str[0]); } }Imports System.Runtime.CompilerServices Namespace UtilityLibraries Public Module StringLibrary <Extension> Public Function StartsWithUpper(str As String) As Boolean If String.IsNullOrWhiteSpace(str) Then Return False End If Dim ch As Char = str(0) Return Char.IsUpper(ch) End Function End Module End NamespaceБиблиотека
UtilityLibraries.StringLibraryклассов содержит метод с именемStartsWithUpper. Этот метод возвращает Boolean значение, указывающее, начинается ли текущий экземпляр строки с символом верхнего регистра. Стандарт Юникод отличает прописные символы от строчных символов. Метод Char.IsUpper(Char) возвращаетtrueесли символ является заглавной буквой.StartsWithUpperреализуется как метод расширения , чтобы его можно было вызвать, как если бы он был членом String класса. Вопросительный знак (?) после кодаstringC# указывает, что строка может иметь значение NULL.В строке меню выберите Сборка>Построить решение или нажмите Ctrl+Shift+B, чтобы убедиться, что проект компилируется без ошибок.
Добавление консольного приложения в решение
Добавьте консольное приложение, использующее библиотеку классов. Приложение предложит пользователю ввести строку и сообщает, начинается ли строка с символа верхнего регистра.
Добавьте в решение новое консольное приложение .NET с именем ShowCase .
Щелкните правой кнопкой мыши решение в обозревателе решений и выберите пункт "Добавить>новый проект".
На странице "Добавление нового проекта " введите консоль в поле поиска. Выберите C# или Visual Basic из списка языков и выберите все платформы из списка платформ.
Выберите шаблон консольного приложения и нажмите кнопку "Далее".
На странице "Настройка нового проекта " введите ShowCase в поле "Имя проекта ". Затем нажмите кнопку "Далее".
На странице "Дополнительные сведения " выберите .NET 10 в поле Framework . Затем нажмите кнопку "Создать".
В окне кода для файла Program.cs или Program.vb замените весь код следующим кодом.
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; } } }Imports UtilityLibraries Module Program Dim row As Integer = 0 Sub Main() Do If row = 0 OrElse row >= 25 Then ResetConsole() Dim input As String = Console.ReadLine() If String.IsNullOrEmpty(input) Then Return Console.WriteLine($"Input: {input} {"Begins with uppercase? ",30}: " + $"{If(input.StartsWithUpper(), "Yes", "No")} {Environment.NewLine}") row += 3 Loop While True End Sub Private Sub ResetConsole() If row > 0 Then Console.WriteLine("Press any key to continue...") Console.ReadKey() End If Console.Clear() Console.WriteLine($"{Environment.NewLine}Press <Enter> only to exit; otherwise, enter a string and press <Enter>:{Environment.NewLine}") row = 3 End Sub End ModuleКод использует
rowпеременную для поддержания количества строк данных, записанных в окно консоли. Каждый раз, когда оно больше или равно 25, код очищает окно консоли и отображает сообщение пользователю.Программа предложит пользователю ввести строку. Указывает, начинается ли строка с прописным символом. Если пользователь нажимает клавишу ВВОД без ввода строки, приложение заканчивается, а окно консоли закрывается.
Добавление ссылки на проект
Изначально новый проект консольного приложения не имеет доступа к библиотеке классов. Чтобы разрешить ему вызывать методы в библиотеке классов, создайте ссылку на проект библиотеки классов.
В обозревателе решений щелкните правой кнопкой мыши
ShowCaseузел зависимостей проекта и выберите команду Добавить ссылку на проект.
В диалоговом окне "Диспетчер ссылок" выберите проект StringLibrary и нажмите кнопку "ОК".
Запуск приложения
В обозревателе решений щелкните правой кнопкой мыши проект ShowCase и выберите "Задать как проект запуска " в контекстном меню.
Нажмите клавиши CTRL+F5 , чтобы скомпилировать и запустить программу без отладки.
Попробуйте выполнить программу, введя строки и нажав клавишу ВВОД, а затем нажмите клавишу ВВОД , чтобы выйти.
Дополнительные ресурсы
Дальнейшие шаги
В этом руководстве вы создали библиотеку классов. В следующем руководстве вы узнаете, как выполнять модульное тестирование библиотеки классов.
Модульное тестирование библиотеки классов .NET с помощью Visual Studio
Кроме того, вы можете пропустить автоматическое модульное тестирование и узнать, как предоставить общий доступ к библиотеке, создав пакет NuGet:
Вы также узнаете, как опубликовать консольное приложение. Приложение консоли, опубликованное из решения, созданного в этом руководстве, будет включать библиотеку классов в виде .dll файла.