Как добавить библиотеку в visual studio 2022
Перейти к содержимому

Как добавить библиотеку в visual studio 2022

  • автор:

Шаг 5. Установка пакетов в среде Python

Сообщество разработчиков на Python создало тысячи полезных пакетов, которые вы можете включать в свои проекты. В Visual Studio имеется пользовательский интерфейс для управления пакетами в средах Python.

Просмотр сред

  1. Выберите команду меню Просмотр>Другие окна>Окружения Python. Откроется окно Окружения Python (как узел обозревателя решений), в котором представлены разные среды, доступные вам. Список содержит как окружения, установленные с помощью установщика Visual Studio, так и окружения, которые вы установили отдельно. В их число входят глобальные, виртуальные среды и среды Conda. Среда, выделенная полужирным шрифтом, — это среда, используемая по умолчанию для новых проектов. Дополнительные сведения о работе со окружениями см. в разделе Создание окружений Python и управление ими в средах Visual Studio.

Python Environments window-2022

Python Environments window-2019

Примечание. Используйте сочетания клавиш CTRL +K, CTRL +`, чтобы открыть окно Окружения Python из окна Обозревателя решений. Если сочетание клавиш не работает и окно «Окружения Python» отсутствует в меню, возможно, не установлена рабочая нагрузка Python. Инструкции по установке Python см. в статье Установка поддержки Python в Visual Studio в Windows.

Если открыт проект Python, вы можете открыть окно Окружения Python из Обозревателя решений. Щелкните правой кнопкой мыши Окружения Python и выберите пункт Просмотреть все окружения Python.

Python Environments-2022

Python Environments-2019

from math import radians import numpy as np # installed with matplotlib import matplotlib.pyplot as plt def main(): x = np.arange(0, radians(1800), radians(12)) plt.plot(x, np.cos(x), 'b') plt.show() main() 

Unresolved package import-2022

Unresolved package import

Установка пакетов с помощью окна «Окружения Python»

  1. В окне «Окружения Python» выберите окружение по умолчанию для новых проектов Python и перейдите на вкладку Пакеты. Вы увидите список пакетов, которые в настоящее время установлены в окружении.

Installing matplotlib in the environment-2022 in Packages tab

Installing matplotlib in the environment-2019 in Packages tab

Installing matplotlib in the environment-2022

Installing matplotlib in the environment-2019

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

В Visual Studio 2017 версии 15.6 и более поздних версий используются другие (более быстрые) методы для работы с IntelliSense. На вкладке IntelliSense отображается соответствующее сообщение.

Запуск программы

После установки matplotlib запустите программу с отладчиком (F5) или без него (CTRL+F5), чтобы увидеть результат.

Как добавить библиотеку в visual studio 2022

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

Создадим и подключим библиотеку классов.

Возьмем имеющийся проект консольного приложения C#, например, созданный в прошлых темах. В структуре проекта нажмем правой кнопкой на название решения и далее в появившемся контекстном меню выберем Add -> New Project. (Добавить новый проект):

Создание библиотеки классов в C#

Далее в списке шаблонов проекта найдем пункт Class Library :

Библиотека классов в C# и .NET

Затем дадим новому проекту какое-нибудь название, например, MyLib:

Class Library in .NET

После создания этого проекта в решение будет добавлен новый проект, в моем случае с названием MyLib:

Добавление нового проекта в C# и .NET

По умолчанию новый проект имеет один пустой класс Class1 в файле Class1.cs. Мы можем этот файл удалить или переименовать, как нам больше нравится.

Например, переименуем файл 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: "); > >

Новый проект в C# и .NET Core

Теперь скомпилируем библиотеку классов. Для этого нажмем правой кнопкой на проект библиотеки классов и в контекстном меню выберем пункт Rebuild :

Компиляция библиотеки классов в C# и .NET Core

После компиляции библиотеки классов в папке проекта в каталоге bin/Debug/net6.0 мы сможем найти скомпилированный файл dll (MyLib.dll). Подключим его в основной проект. Для этого в основном проекте нажмем правой кнопкой на узел Dependencies и в контекстном меню выберем пункт Add Project Reference. :

Добавление библиотеки классов в проекте на C# и .NET Core

Далее нам откроется окно для добавления библиотек. В этом окне выберем пункт Solution,который позволяет увидеть все библиотеки классов из проектов текущего решения, поставим отметку рядом с нашей библиотекой и нажмем на кнопку OK:

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

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

using MyLib; // подключение пространства имен из библиотеки классов Person tom = new("Tom"); tom.Print(); // Name: Tom

Использование библиотек и компонентов

В проектах C++ часто требуется вызывать функции или обращаться к данным в двоичных файлах, таких как статические библиотеки (LIB-файлы), библиотеки DLL, компоненты среды выполнения Windows, компоненты COM или сборки .NET. В этих случаях необходимо настроить проект таким образом, чтобы он мог находить нужные двоичные файлы во время сборки. Конкретный способ сделать это зависит от типа вашего проекта, типа двоичного файла, а также от того, был ли этот двоичный файл собран в том же решении, что и ваш проект.

Использование скачанных библиотек с помощью vcpkg

Если вы хотите использовать скачанную библиотеку с помощью диспетчера пакетов vcpkg, то приведенные ниже инструкции можно пропустить. Дополнительные сведения см. в разделе:

  • vcpkg в проектах CMake
  • Установка и использование пакетов с CMake в Visual Studio
  • vcpkg в проектах MSBuild
  • Руководство. Установка и использование пакетов с MSBuild в Visual Studio

Использование статических библиотек

Если проект статической библиотеки был создан в том же решении:

  1. #include файл заголовка для статической библиотеки с помощью кавычки. В типовом решении путь начинается с ../ . При поиске вы можете использовать предложения технологии IntelliSense.
  2. Добавьте ссылку на проект статической библиотеки. Щелкните правой кнопкой мыши элемент Ссылки в узле проекта приложения в обозревателе решений и выберите Добавить ссылку.

Если статическая библиотека не входит в состав решения:

  1. Щелкните правой кнопкой мыши узел проекта приложения в обозревателе решений и выберите Свойства.
  2. На странице свойств Каталоги VC++ добавьте в раздел Пути библиотек путь к каталогу, который содержит LIB-файл. Затем добавьте в раздел Включаемые каталоги путь к файлам заголовков библиотеки.
  3. На странице свойств компоновщика > добавьте имя LIB-файла в дополнительные зависимости.

Библиотеки динамической компоновки

Если библиотека DLL была собрана в рамках того же решения, что и приложение, выполните те же действия, что и для статической библиотеки.

Если библиотека DLL не входит в состав решения приложения, вам потребуются DLL-файл, заголовки с прототипами для экспортируемых функций и классов, а также LIB-файл, содержащий необходимую для компоновки информацию.

  1. Скопируйте DLL-файл в папку выходных данных проекта или другую папку, которая задана в качестве стандартной для поиска библиотек DLL в Windows. Дополнительные сведения см. в разделе «Порядок поиска библиотеки динамических ссылок».
  2. Выполните шаги с 1 по 3 для статических библиотек, чтобы задать пути к заголовкам и LIB-файлу.

COM-объекты

Если в собственном приложении C++ требуется использовать COM-объект и этот объект зарегистрирован, вам достаточно вызвать функцию CoCreateInstance и передать в нее CLSID объекта. Система выполнит поиск объекта в реестре Windows и загрузит его. В проекте C++/CLI COM-объект можно использовать таким же образом. Кроме того, он может использовать его, добавив ссылку на нее из списка добавления ссылок > COM и используя ее через вызываемую оболочку среды выполнения.

Сборки .NET с компонентами среды выполнения Windows

В проектах универсальной платформы Windows (UWP) или C++/CLI для использования сборок .NET или компонентов среды выполнения Windows можно добавить ссылку на сборку или компонент. В узле Ссылки проекта универсальной платформы Windows (UWP) или C++/CLI представлены ссылки на часто используемые компоненты. Щелкните правой кнопкой мыши узел Ссылки в Обозревателе решений, чтобы открыть диспетчер ссылок и просмотреть доступные в системе компоненты. Нажмите кнопку Обзор, чтобы перейти к папке, в которой находится нужный вам пользовательский компонент. Поскольку сборки .NET и компоненты среды выполнения Windows содержат встроенные сведения о типах, для просмотра их методов и классов можно щелкнуть правой кнопкой мыши и выбрать команду Просмотреть в обозревателе объектов.

Свойства ссылки

Каждый тип ссылки имеет свойства. Свойства можно просмотреть, выбрав ссылку в обозревателе решений и нажав клавиши Alt + ВВОД. Также можно щелкнуть ссылку правой кнопкой мыши и выбрать пункт Свойства. Одни свойства доступны только для чтения, другие можно изменять. Тем не менее обычно эти свойства не требуется изменять вручную.

Свойства ссылки ActiveX

Свойства ссылки ActiveX доступны только для компонентов COM. Данные свойства отображаются только тогда, когда в панели Ссылки выбран компонент COM. Эти свойства нельзя изменить.

  • Управление полным путем Отображает путь к каталогу элемента управления, на который указывает ссылка.
  • GUID элемента управления Отображает GUID для элемента управления ActiveX.
  • Версия элемента управления Отображает версию элемента управления ActiveX, на который указывает ссылка.
  • Имя библиотеки типов Отображает имя библиотеки типов, на которую указывает ссылка.
  • Средство программы-оболочки Отображает средство, которое используется для создания сборки взаимодействия из указанной библиотеки COM или элемента управления ActiveX.

Свойства ссылки на сборку (C++/CLI)

Свойства ссылки на сборку доступны только для ссылок на сборки .NET Framework в проектах C++/CLI. Данные свойства отображаются только тогда, когда в панели Ссылки выбрана сборка .NET Framework. Эти свойства нельзя изменить.

  • Относительный путь Отображает относительный путь от каталога проекта к сборке, на которую указывает ссылка.

Свойства сборки

Следующие свойства доступны для различных типов ссылок. Они позволяют задавать способ построения со ссылками.

  • Копировать локальные Указывает, следует ли автоматически копировать сборку, на которую указывает ссылка, в целевое расположение во время сборки.
  • Копировать локальные вспомогательные сборки (C++/CLI) Указывает, следует ли автоматически копировать вспомогательные сборки ссылочной сборки в целевое расположение во время сборки. Используется, только если для параметра Копировать локальные задано значение true .
  • Выходные данные ссылочной сборки Указывает, что эта сборка используется в процессе сборки. true означает, что эта сборка используется в командной строке компилятора во время выполнения сборки.

Свойства ссылок проектов на проекты

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

  • Компоновать зависимости библиотек Если это свойство имеет значение True, система проектов установит в зависимом проекте связь с LIB-файлами, создаваемыми независимым проектом. Обычно устанавливается значение True.
  • Идентификатор проекта Уникальный идентификатор независимого проекта. Значение свойства — это GUID внутренней системы, который невозможно изменить.
  • Использовать входные данные зависимостей библиотек Если это свойство имеет значение False, система проектов не установит в зависимом проекте связь с OBJ-файлами для библиотеки, созданной независимым проектом. Таким образом, это значение отключает инкрементную компоновку. Обычно указывается значение False, так как при наличии множества независимых проектов сборка приложения может занять длительное время.

Свойства ссылки только для чтения (COM и .NET)

Следующие свойства существуют в ссылках на компоненты COM и сборки .NET, и их нельзя изменить.

  • Имя сборки Отображает имя сборки для сборки, на которую указывает ссылка.
  • Язык и региональные параметры Отображает язык и региональные параметры выбранной ссылки.
  • Description Отображает описание выбранной ссылки.
  • Полный путь Отображает путь к каталогу сборки, на которую указывает ссылка.
  • Identity Для сборок .NET Framework отображает полный путь. Для компонентов COM отображает GUID.
  • Подпись Отображает метку ссылки.
  • Имя Отображает имя ссылки.
  • Токен открытого ключа Отображает токен открытого ключа для идентификации сборки, на которую указывает ссылка.
  • Строгое имяtrue , если сборка, на которую указывает ссылка, имеет строгое имя. Сборка со строгим именем имеет уникальную версию.
  • Версия Отображает версию сборки, на которую указывает ссылка.

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

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

Библиотека классов определяет типы и методы, которые могут быть вызваны из любого приложения. Если библиотека предназначена для .NET Standard 2.0, она может быть вызвана любой реализацией .NET (включая .NET Framework), которая поддерживает .NET Standard 2.0. Если библиотека предназначена для .NET 8, она может вызываться любым приложением, предназначенным для .NET 8. В этом руководстве показано, как использовать .NET 8.

Когда вы завершите создание библиотеки классов, можете распространить ее как пакет NuGet или включить как компонент в состав приложения, в котором она используется.

Предварительные условия

  • Предварительная версия Visual Studio 2022 с установленной рабочей нагрузкой разработки классических приложений .NET. Пакет SDK для .NET 8 устанавливается автоматически при выборе этой рабочей нагрузки. См. раздел Установка пакета SDK для .NET с помощью Visual Studio.

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

Начните с создания пустого решения для размещения проекта библиотеки классов. Решение Visual Studio служит контейнером для одного или нескольких проектов. Вы будете добавлять дополнительные связанные проекты в одно решение.

Чтобы создать пустое решение, сделайте следующее:

Blank solution template in Visual Studio

  1. Запустите среду Visual Studio.
  2. На начальном экране выберите Создать проект.
  3. В поле поиска на странице Создание проекта введите решение. Выберите шаблон Пустое решение и нажмите кнопку Далее.
  4. На странице Настройка нового проекта введите ClassLibraryProjects в поле Имя решения. Щелкните Создать.

Создание проекта библиотеки классов

Project properties for the class library

  1. Добавьте в решение новый проект библиотеки классов .NET с именем «StringLibrary».
    1. Щелкните решение в обозревателе решений правой кнопкой мыши и выберите Добавить>Новый проект.
    2. На странице добавления нового проекта введите в поле поиска библиотека. Выберите C# или Visual Basic из списка языков, а затем — Все платформы из списка платформ. Выберите шаблон Библиотека классов, а затем нажмите кнопку Далее.
    3. На странице настройки нового проекта введите StringLibrary в поле Имя проекта, а затем нажмите Далее.
    4. На странице «Дополнительные сведения» выберите .NET 8 (предварительная версия) и нажмите кнопку «Создать«.
  2. Проверьте, предназначена ли библиотека для правильной версии .NET. В обозревателе решений щелкните проект библиотеки правой кнопкой мыши и выберите пункт Свойства. Текстовое поле Target Framework показывает, что проект предназначен для .NET 7.0.
  3. Если вы используете Visual Basic, удалите текст в поле Корневое пространство имен. Для каждого проекта Visual Basic автоматически создает пространство имен, соответствующее имени проекта. В этом учебнике вы определите пространство имен верхнего уровня с помощью ключевого слова namespace в файле кода.
  4. Замените код, отображаемый в окне кода, для Class1.cs или Class1.vb следующим текстом, а затем сохраните файл. Если нужный язык не отображается, измените селектор языка в верхней части страницы.

    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); >> 
    Imports System.Runtime.CompilerServices Namespace UtilityLibraries Public Module StringLibrary 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 

    Добавление консольного приложения в решение

    Добавьте консольное приложение, использующее библиотеку классов. В приложении пользователю будет предложено ввести строку и сообщить, начинается ли строка с символа верхнего регистра.

    1. Добавьте к решению новое консольное приложение .NET под названием «Демонстрация».
      1. Щелкните решение в обозревателе решений правой кнопкой мыши и выберите Добавить>Новый проект.
      2. На странице Добавить новый проект введите в поле поиска консоль. Выберите C# или Visual Basic из списка языков, а затем — Все платформы из списка платформ.
      3. Выберите шаблон Консольное приложение и нажмите Далее.
      4. На странице Настроить новый проект введите Демонстрация в поле Имя проекта. Теперь щелкните Далее.
      5. На странице «Дополнительные сведения» выберите .NET 8 (предварительная версия) в поле Framework. Щелкните Создать.
      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: "); Console.WriteLine("Begins with uppercase? " + $"<(input.StartsWithUpper() ? "Yes" : "No")>"); Console.WriteLine(); row += 4; > 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($"Press only to exit; otherwise, enter a string and press :"); 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: : " + $" ") 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($"Press only to exit; otherwise, enter a string and press :") row = 3 End Sub End Module 

      Добавление ссылки на проект

      Изначально новый проект консольного приложения не имеет доступа к библиотеке классов. Чтобы позволить приложению вызывать методы из библиотеки классов, создайте в проекте ссылку на проект библиотеки классов.

      1. В обозревателе решений щелкните правой кнопкой мыши узел Зависимости проекта ShowCase и выберите команду Добавить ссылку на проект. Add reference context menu in Visual Studio
      2. В диалоговом окне Диспетчер ссылок выберите проект StringLibrary, а затем нажмите кнопку ОК. Reference Manager dialog with StringLibrary selected

      Выполнить приложение

      1. В окне Обозреватель решений щелкните правой кнопкой мыши проект ShowCase и выберите команду Назначить запускаемым проектом. Visual Studio project context menu to set startup project
      2. Нажмите клавиши CTRL + F5 , чтобы скомпилировать и запустить программу без отладки.
      3. Проверьте, как работает программа: вводите строки и нажимайте клавишу ВВОД . Чтобы выйти, нажмите клавишу ВВОД . Console window with ShowCase running

      Дополнительные ресурсы

      • Разработка библиотек с помощью .NET CLI
      • Список версий .NET Standard и поддерживаемых ими платформ

      Далее

      В этом руководстве вы создали библиотеку классов. В следующем руководстве вы узнаете, как выполнять модульное тестирование библиотеки классов.

      Вы также можете пропустить автоматическое модульное тестирование и узнать, как можно распространить библиотеку, создав пакет NuGet:

      Либо узнайте, как опубликовать консольное приложение. При публикации консольного приложения из решения, созданного в этом руководстве, библиотека классов публикуется вместе с ним в виде файла DLL.

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

      Библиотека классов определяет типы и методы, которые могут быть вызваны из любого приложения. Если библиотека предназначена для .NET Standard 2.0, она может быть вызвана любой реализацией .NET (включая .NET Framework), которая поддерживает .NET Standard 2.0. Если библиотека предназначена для .NET 7, ее можно вызвать любым приложением, предназначенным для .NET 7. В этом руководстве показано, как нацелиться на .NET 7.

      Когда вы завершите создание библиотеки классов, можете распространить ее как пакет NuGet или включить как компонент в состав приложения, в котором она используется.

      Предварительные условия

      • Visual Studio 2022 версии 17.4 с установленной рабочей нагрузкой разработки классических приложений .NET. Пакет SDK для .NET 7 устанавливается автоматически при выборе этой рабочей нагрузки. См. раздел Установка пакета SDK для .NET с помощью Visual Studio.

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

      Начните с создания пустого решения для размещения проекта библиотеки классов. Решение Visual Studio служит контейнером для одного или нескольких проектов. Вы будете добавлять дополнительные связанные проекты в одно решение.

      Чтобы создать пустое решение, сделайте следующее:

      Blank solution template in Visual Studio

      1. Запустите среду Visual Studio.
      2. На начальном экране выберите Создать проект.
      3. В поле поиска на странице Создание проекта введите решение. Выберите шаблон Пустое решение и нажмите кнопку Далее.
      4. На странице Настройка нового проекта введите ClassLibraryProjects в поле Имя решения. Щелкните Создать.

      Создание проекта библиотеки классов

      Project properties for the class library

      1. Добавьте в решение новый проект библиотеки классов .NET с именем «StringLibrary».
        1. Щелкните решение в обозревателе решений правой кнопкой мыши и выберите Добавить>Новый проект.
        2. На странице добавления нового проекта введите в поле поиска библиотека. Выберите C# или Visual Basic из списка языков, а затем — Все платформы из списка платформ. Выберите шаблон Библиотека классов, а затем нажмите кнопку Далее.
        3. На странице настройки нового проекта введите StringLibrary в поле Имя проекта, а затем нажмите Далее.
        4. На странице «Дополнительные сведения» выберите .NET 7 (поддержка уровня «Стандартный») и нажмите кнопку «Создать«.
      2. Проверьте, предназначена ли библиотека для правильной версии .NET. В обозревателе решений щелкните проект библиотеки правой кнопкой мыши и выберите пункт Свойства. Текстовое поле Target Framework показывает, что проект предназначен для .NET 7.0.
      3. Если вы используете Visual Basic, удалите текст в поле Корневое пространство имен. Для каждого проекта Visual Basic автоматически создает пространство имен, соответствующее имени проекта. В этом учебнике вы определите пространство имен верхнего уровня с помощью ключевого слова namespace в файле кода.
      4. Замените код, отображаемый в окне кода, для Class1.cs или Class1.vb следующим текстом, а затем сохраните файл. Если нужный язык не отображается, измените селектор языка в верхней части страницы.

        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); >> 
        Imports System.Runtime.CompilerServices Namespace UtilityLibraries Public Module StringLibrary 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 

        Добавление консольного приложения в решение

        Добавьте консольное приложение, использующее библиотеку классов. В приложении пользователю будет предложено ввести строку и сообщить, начинается ли строка с символа верхнего регистра.

        1. Добавьте к решению новое консольное приложение .NET под названием «Демонстрация».
          1. Щелкните решение в обозревателе решений правой кнопкой мыши и выберите Добавить>Новый проект.
          2. На странице Добавить новый проект введите в поле поиска консоль. Выберите C# или Visual Basic из списка языков, а затем — Все платформы из списка платформ.
          3. Выберите шаблон Консольное приложение и нажмите Далее.
          4. На странице Настроить новый проект введите Демонстрация в поле Имя проекта. Теперь щелкните Далее.
          5. На странице «Дополнительные сведения» выберите .NET 7 (поддержка со стандартным термином) в поле Framework. Щелкните Создать.
          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: "); Console.WriteLine("Begins with uppercase? " + $"<(input.StartsWithUpper() ? "Yes" : "No")>"); Console.WriteLine(); row += 4; > 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($"Press only to exit; otherwise, enter a string and press :"); 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: : " + $" ") 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($"Press only to exit; otherwise, enter a string and press :") row = 3 End Sub End Module 

          Добавление ссылки на проект

          Изначально новый проект консольного приложения не имеет доступа к библиотеке классов. Чтобы позволить приложению вызывать методы из библиотеки классов, создайте в проекте ссылку на проект библиотеки классов.

          1. В обозревателе решений щелкните правой кнопкой мыши узел Зависимости проекта ShowCase и выберите команду Добавить ссылку на проект. Add reference context menu in Visual Studio
          2. В диалоговом окне Диспетчер ссылок выберите проект StringLibrary, а затем нажмите кнопку ОК. Reference Manager dialog with StringLibrary selected

          Выполнить приложение

          1. В окне Обозреватель решений щелкните правой кнопкой мыши проект ShowCase и выберите команду Назначить запускаемым проектом. Visual Studio project context menu to set startup project
          2. Нажмите клавиши CTRL + F5 , чтобы скомпилировать и запустить программу без отладки.
          3. Проверьте, как работает программа: вводите строки и нажимайте клавишу ВВОД . Чтобы выйти, нажмите клавишу ВВОД . Console window with ShowCase running

          Дополнительные ресурсы

          • Разработка библиотек с помощью .NET CLI
          • Список версий .NET Standard и поддерживаемых ими платформ

          Далее

          В этом руководстве вы создали библиотеку классов. В следующем руководстве вы узнаете, как выполнять модульное тестирование библиотеки классов.

          Вы также можете пропустить автоматическое модульное тестирование и узнать, как можно распространить библиотеку, создав пакет NuGet:

          Либо узнайте, как опубликовать консольное приложение. При публикации консольного приложения из решения, созданного в этом руководстве, библиотека классов публикуется вместе с ним в виде файла DLL.

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

          Библиотека классов определяет типы и методы, которые могут быть вызваны из любого приложения. Если библиотека предназначена для .NET Standard 2.0, она может быть вызвана любой реализацией .NET (включая .NET Framework), которая поддерживает .NET Standard 2.0. Если библиотека предназначена для .NET 6, ее можно вызвать с помощью любого приложения, предназначенного для .NET 6. В этом руководстве показано, как выполнить нацеливание на .NET 6.

          Когда вы завершите создание библиотеки классов, можете распространить ее как пакет NuGet или включить как компонент в состав приложения, в котором она используется.

          Предварительные условия

          • Visual Studio 2022, предварительная версия 17.0.0 с установленной рабочей нагрузкой Разработка классических приложений .NET. Пакет SDK для .NET 6 устанавливается автоматически при выборе этой рабочей нагрузки. См. раздел Установка пакета SDK для .NET с помощью Visual Studio.

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

          Начните с создания пустого решения для размещения проекта библиотеки классов. Решение Visual Studio служит контейнером для одного или нескольких проектов. Вы будете добавлять дополнительные связанные проекты в одно решение.

          Чтобы создать пустое решение, сделайте следующее:

          Blank solution template in Visual Studio

          1. Запустите среду Visual Studio.
          2. На начальном экране выберите Создать проект.
          3. В поле поиска на странице Создание проекта введите решение. Выберите шаблон Пустое решение и нажмите кнопку Далее.
          4. На странице Настройка нового проекта введите ClassLibraryProjects в поле Имя решения. Щелкните Создать.

          Создание проекта библиотеки классов

          Project properties for the class library

          1. Добавьте в решение новый проект библиотеки классов .NET с именем «StringLibrary».
            1. Щелкните решение в обозревателе решений правой кнопкой мыши и выберите Добавить>Новый проект.
            2. На странице добавления нового проекта введите в поле поиска библиотека. Выберите C# или Visual Basic из списка языков, а затем — Все платформы из списка платформ. Выберите шаблон Библиотека классов, а затем нажмите кнопку Далее.
            3. На странице настройки нового проекта введите StringLibrary в поле Имя проекта, а затем нажмите Далее.
            4. На странице Дополнительные сведения выберите .NET 6 (долгосрочная поддержка), а затем нажмите Создать.
          2. Проверьте, предназначена ли библиотека для правильной версии .NET. В обозревателе решений щелкните проект библиотеки правой кнопкой мыши и выберите пункт Свойства. В текстовом поле Целевая платформа указано, что целевой платформой проекта является .NET 6.0.
          3. Если вы используете Visual Basic, удалите текст в поле Корневое пространство имен. Для каждого проекта Visual Basic автоматически создает пространство имен, соответствующее имени проекта. В этом учебнике вы определите пространство имен верхнего уровня с помощью ключевого слова namespace в файле кода.
          4. Замените код, отображаемый в окне кода, для Class1.cs или Class1.vb следующим текстом, а затем сохраните файл. Если нужный язык не отображается, измените селектор языка в верхней части страницы.

            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); >> 
            Imports System.Runtime.CompilerServices Namespace UtilityLibraries Public Module StringLibrary 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 

            Добавление консольного приложения в решение

            Добавьте консольное приложение, использующее библиотеку классов. В приложении пользователю будет предложено ввести строку и сообщить, начинается ли строка с символа верхнего регистра.

            1. Добавьте к решению новое консольное приложение .NET под названием «Демонстрация».
              1. Щелкните решение в обозревателе решений правой кнопкой мыши и выберите Добавить>Новый проект.
              2. На странице Добавить новый проект введите в поле поиска консоль. Выберите C# или Visual Basic из списка языков, а затем — Все платформы из списка платформ.
              3. Выберите шаблон Консольное приложение и нажмите Далее.
              4. На странице Настроить новый проект введите Демонстрация в поле Имя проекта. Теперь щелкните Далее.
              5. На странице Дополнительные сведения выберите .NET 6 (долгосрочная поддержка) в поле Платформа. Щелкните Создать.
              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: "); Console.WriteLine("Begins with uppercase? " + $"<(input.StartsWithUpper() ? "Yes" : "No")>"); Console.WriteLine(); row += 4; > 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($"Press only to exit; otherwise, enter a string and press :"); 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: : " + $" ") 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($"Press only to exit; otherwise, enter a string and press :") row = 3 End Sub End Module 

              Добавление ссылки на проект

              Изначально новый проект консольного приложения не имеет доступа к библиотеке классов. Чтобы позволить приложению вызывать методы из библиотеки классов, создайте в проекте ссылку на проект библиотеки классов.

              1. В обозревателе решений щелкните правой кнопкой мыши узел Зависимости проекта ShowCase и выберите команду Добавить ссылку на проект. Add reference context menu in Visual Studio
              2. В диалоговом окне Диспетчер ссылок выберите проект StringLibrary, а затем нажмите кнопку ОК. Reference Manager dialog with StringLibrary selected

              Выполнить приложение

              1. В окне Обозреватель решений щелкните правой кнопкой мыши проект ShowCase и выберите команду Назначить запускаемым проектом. Visual Studio project context menu to set startup project
              2. Нажмите клавиши CTRL + F5 , чтобы скомпилировать и запустить программу без отладки.
              3. Проверьте, как работает программа: вводите строки и нажимайте клавишу ВВОД . Чтобы выйти, нажмите клавишу ВВОД . Console window with ShowCase running

              Дополнительные ресурсы

              • Разработка библиотек с помощью .NET CLI
              • Список версий .NET Standard и поддерживаемых ими платформ

              Далее

              В этом руководстве вы создали библиотеку классов. В следующем руководстве вы узнаете, как выполнять модульное тестирование библиотеки классов.

              Вы также можете пропустить автоматическое модульное тестирование и узнать, как можно распространить библиотеку, создав пакет NuGet:

              Либо узнайте, как опубликовать консольное приложение. При публикации консольного приложения из решения, созданного в этом руководстве, библиотека классов публикуется вместе с ним в виде файла DLL.

              Совместная работа с нами на GitHub

              Источник этого содержимого можно найти на GitHub, где также можно создавать и просматривать проблемы и запросы на вытягивание. Дополнительные сведения см. в нашем руководстве для участников.

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

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