Управление ссылками protobuf с помощью .NET gRPC
Примечание.
Это не последняя версия этой статьи. В текущем выпуске см . версию .NET 8 этой статьи.
Предупреждение
Эта версия ASP.NET Core больше не поддерживается. Дополнительные сведения см. в статье о политике поддержки .NET и .NET Core. В текущем выпуске см . версию .NET 8 этой статьи.
Внимание
Эта информация относится к предварительному выпуску продукта, который может быть существенно изменен до его коммерческого выпуска. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
В текущем выпуске см . версию .NET 8 этой статьи.
dotnet-grpc
— это глобальное средство .NET Core для управления ссылками Protobuf (.proto
) в рамках проекта gRPC .NET. Это средство можно использовать для добавления, обновления, удаления и перечисления ссылок Protobuf.
Установка
Чтобы установить глобальное средство .NET Core dotnet-grpc
, выполните следующую команду:
dotnet tool install -g dotnet-grpc
Примечание.
По умолчанию архитектура двоичных файлов .NET для установки представляет архитектуру операционной системы. Чтобы указать другую архитектуру ОС, см . параметр dotnet tool install, --arch. Дополнительные сведения см. в статье о проблеме GitHub dotnet/AspNetCore.Docs #29262.
Добавление ссылок
dotnet-grpc
можно использовать для добавления ссылок Protobuf в качестве элементов <Protobuf />
в файл .csproj
:
<Protobuf Include="Protos\greet.proto" GrpcServices="Server" />
Ссылки Protobuf используются для создания клиентских и (или) серверных ресурсов C#. Средство dotnet-grpc
предоставляет указанные ниже возможности:
- Создание ссылки Protobuf из локальных файлов на диске.
- Создание ссылки Protobuf из удаленного файла, указанного с помощью URL-адреса.
- Гарантия добавления в проект правильных зависимостей пакета gRPC.
Например, пакет Grpc.AspNetCore
добавляется в веб-приложение. Grpc.AspNetCore
содержит поддержку инструментов и серверных и клиентских библиотек gRPC. Кроме того, пакеты Grpc.Net.Client
, Grpc.Tools
и Google.Protobuf
, содержащие только поддержку инструментов и серверных и клиентских библиотек gRPC, добавляются в консольное приложение.
Добавить файл
Команда add-file
используется для добавления локальных файлов на диске в качестве ссылок Protobuf. Предоставленные пути к файлам:
- могут быть указаны относительно текущего каталога или абсолютных путей;
- могут содержать подстановочные знаки для использования стандартных масок файлов.
Если какие-либо файлы находятся за пределами каталога проекта, добавляется элемент Link
для отображения файла в папке Protos
в Visual Studio.
Использование
dotnet-grpc add-file [options] <files>...
Аргументы
Аргумент | Description |
---|---|
files | Ссылки на файлы protobuf. Это может быть путь к стандартной маске для локальных файлов protobuf. |
Параметры
Короткий параметр | Длинный параметр | Description |
---|---|---|
-p | --project | Путь к целевому файлу проекта. Если файл не указан, команда ищет текущий каталог для него. |
-s | --services | Тип служб gRPC, которые нужно создать. Если указан Default , Both используется для веб-проектов, а Client — для прочих проектов. Допустимые значения: Both , Client , Default , None , Server . |
i- | --additional-import-dirs | Дополнительные каталоги, которые будут использоваться при разрешении импортов для файлов protobuf. Это список путей, разделенных точкой с запятой. |
--access | Модификатор доступа, используемый для создаваемых классов C#. Значение по умолчанию — Public . Допустимые значения: Internal и Public . |
Добавление URL-адреса
Команда add-url
используется для добавления удаленного файла, заданного исходным URL-адресом, в качестве ссылки Protobuf. Чтобы указать место для скачивания удаленного файла, необходимо задать путь к файлу. Этот путь может быть указан относительно текущего каталога или абсолютного пути. Если этот путь находится за пределами каталога проекта, добавляется элемент Link
для отображения файла в папке Protos
в Visual Studio.
Использование
dotnet-grpc add-url [options] <url>
Аргументы
Аргумент | Description |
---|---|
URL-адрес | URL-адрес удаленного файла protobuf. |
Параметры
Короткий параметр | Длинный параметр | Description |
---|---|---|
o- | --output | Указывает путь скачивания для удаленного файла protobuf. Это обязательный параметр. |
-p | --project | Путь к целевому файлу проекта. Если файл не указан, команда ищет текущий каталог для него. |
-s | --services | Тип служб gRPC, которые нужно создать. Если указан Default , Both используется для веб-проектов, а Client — для прочих проектов. Допустимые значения: Both , Client , Default , None , Server . |
i- | --additional-import-dirs | Дополнительные каталоги, которые будут использоваться при разрешении импортов для файлов protobuf. Это список путей, разделенных точкой с запятой. |
--access | Модификатор доступа, используемый для создаваемых классов C#. Значение по умолчанию: Public . Допустимые значения: Internal и Public . |
Удалить
Команда remove
используется для удаления ссылок Protobuf из файла .csproj
. В качестве аргументов эта команда принимает URL-адреса источника и аргументы пути. Средство:
- удаляет только ссылку Protobuf;
- Не удаляет
.proto
файл, даже если он был первоначально скачан из удаленный URL-адрес.
Использование
dotnet-grpc remove [options] <references>...
Аргументы
Аргумент | Description |
---|---|
ссылки | URL-адреса или пути к файлам для удаляемых ссылок protobuf. |
Параметры
Короткий параметр | Длинный параметр | Description |
---|---|---|
-p | --project | Путь к целевому файлу проекта. Если файл не указан, команда ищет текущий каталог для него. |
Refresh
Команда refresh
используется для обновления удаленной ссылки последним содержимым из URL-адреса источника. Для указания обновляемой ссылки можно использовать как путь скачивания файла, так и URL-адрес источника. Примечание.
- Хэши содержимого файла сравниваются, чтобы определить, требуется ли обновить локальный файл.
- Сведения о метке времени не сравниваются.
Средство всегда заменяет локальный файл удаленным, если требуется обновление.
Использование
dotnet-grpc refresh [options] [<references>...]
Аргументы
Аргумент | Description |
---|---|
ссылки | URL-адреса или пути к файлам для удаленных ссылок protobuf, которые нужно обновить. Оставьте этот аргумент пустым, чтобы обновить все удаленные ссылки. |
Параметры
Короткий параметр | Длинный параметр | Description |
---|---|---|
-p | --project | Путь к целевому файлу проекта. Если файл не указан, команда ищет текущий каталог для него. |
--dry-run | Выводит список файлов, которые будут обновлены без скачивания нового содержимого. |
List
Команда list
используется для вывода всех ссылок на Protobuf в файле проекта. Если все значения столбца являются значениями по умолчанию, этот столбец можно опустить.
Использование
dotnet-grpc list [options]
Параметры
Короткий параметр | Длинный параметр | Description |
---|---|---|
-p | --project | Путь к целевому файлу проекта. Если файл не указан, команда ищет текущий каталог для него. |
Дополнительные ресурсы
ASP.NET Core