Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Note
Это не последняя версия этой статьи. В текущей версии см. версию .NET 10 этой статьи.
Warning
Эта версия ASP.NET Core больше не поддерживается. Дополнительные сведения см. в политике поддержки .NET и .NET Core. В текущей версии см. версию .NET 10 этой статьи.
dotnet-grpc — это глобальный инструмент .NET для управления ссылками protobuf (.proto) в проекте .NET gRPC. Это средство можно использовать для добавления, обновления, удаления и перечисления ссылок Protobuf.
Installation
Чтобы установить глобальное dotnet-grpcсредство .NET, выполните следующую команду:
dotnet tool install -g dotnet-grpc
Note
По умолчанию архитектура двоичных файлов .NET для установки представляет архитектуру операционной системы.
Чтобы указать другую архитектуру, просмотрите, как использовать dotnet tool install команду с параметром "--arch".
Дополнительные сведения см. в обсуждении GitHub dotnet/aspnetcore.docs № 29262 - Добавьте "-a arm64" на Apple Silicon.
Добавление ссылок
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.
Usage
dotnet-grpc add-file [options] <files>...
Arguments
| Argument | Description |
|---|---|
| files | Ссылки на файлы protobuf. Эти пути могут быть шаблонами для локальных файлов protobuf. |
Options
| Короткий вариант | Длинная опция | 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.
Usage
dotnet-grpc add-url [options] <url>
Arguments
| Argument | Description |
|---|---|
| url | URL-адрес удаленного файла protobuf. |
Options
| Короткий вариант | Длинная опция | 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
Команда remove используется для удаления ссылок Protobuf из файла .csproj. В качестве аргументов эта команда принимает URL-адреса источника и аргументы пути. Инструмент
- удаляет только ссылку Protobuf;
- Не удаляет файл
.proto, даже если он был первоначально скачан из удалённого URL-адреса.
Usage
dotnet-grpc remove [options] <references>...
Arguments
| Argument | Description |
|---|---|
| references | URL-адреса или пути к файлам для удаляемых ссылок protobuf. |
Options
| Короткий вариант | Длинная опция | Description |
|---|---|---|
| -p | --project | Путь к файлу проекта, с которым предстоит работать. Если файл не указан, команда ищет текущий каталог для него. |
Refresh
Команда refresh используется для обновления удаленной ссылки последним содержимым из URL-адреса источника. Для указания обновляемой ссылки можно использовать как путь скачивания файла, так и URL-адрес источника. Note:
- Хэши содержимого файла сравниваются, чтобы определить, требуется ли обновить локальный файл.
- Сведения о метке времени не сравниваются.
Средство всегда заменяет локальный файл удаленным, если требуется обновление.
Usage
dotnet-grpc refresh [options] [<references>...]
Arguments
| Argument | Description |
|---|---|
| references | URL-адреса или пути к файлам для удаленных ссылок protobuf, которые нужно обновить. Оставьте этот аргумент пустым, чтобы обновить все удаленные ссылки. |
Options
| Короткий вариант | Длинная опция | Description |
|---|---|---|
| -p | --project | Путь к файлу проекта, с которым предстоит работать. Если файл не указан, команда ищет текущий каталог для него. |
| --dry-run | Выводит список файлов, которые будут обновлены без скачивания нового содержимого. |
List
Команда list используется для вывода всех ссылок на Protobuf в файле проекта. Если все значения столбца являются значениями по умолчанию, этот столбец можно опустить.
Usage
dotnet-grpc list [options]
Options
| Короткий вариант | Длинная опция | Description |
|---|---|---|
| -p | --project | Путь к файлу проекта, с которым предстоит работать. Если файл не указан, команда ищет текущий каталог для него. |
Дополнительные ресурсы
ASP.NET Core