dotnet-grpc를 사용하여 Protobuf 참조를 관리하세요.
참고 항목
이 문서의 최신 버전은 아닙니다. 현재 릴리스는 이 문서의 .NET 8 버전을 참조 하세요.
Important
이 정보는 상업적으로 출시되기 전에 실질적으로 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적, 또는 묵시적인 보증을 하지 않습니다.
현재 릴리스는 이 문서의 .NET 8 버전을 참조 하세요.
dotnet-grpc
는 .NET gRPC 프로젝트 내에서 Protobuf(.proto
) 참조를 관리하기 위한 .NET Core 전역 도구입니다. 이 도구를 사용하여 Protobuf 참조를 추가, 새로 고침, 제거 및 나열할 수 있습니다.
설치
dotnet-grpc
.NET Core 전역 도구를 설치하려면 다음 명령을 실행합니다.
dotnet tool install -g dotnet-grpc
참고 항목
기본적으로 설치할 .NET 이진 파일의 아키텍처는 현재 실행 중인 OS 아키텍처를 나타냅니다. 다른 OS 아키텍처를 지정하려면 dotnet 도구 설치, --arch 옵션을 참조하세요. 자세한 내용은 GitHub 이슈 dotnet/AspNetCore.Docs #29262를 참조하세요.
참조 추가
dotnet-grpc
를 사용하여 .csproj
파일에 Protobuf 참조를 <Protobuf />
항목으로 추가할 수 있습니다.
<Protobuf Include="Protos\greet.proto" GrpcServices="Server" />
Protobuf 참조는 C# 클라이언트 및/또는 서버 자산을 생성하는 데 사용됩니다. dotnet-grpc
도구는 다음을 수행할 수 있습니다.
- 디스크의 로컬 파일에서 Protobuf 참조를 만듭니다.
- URL로 지정된 원격 파일에서 Protobuf 참조를 만듭니다.
- 올바른 gRPC 패키지 종속성이 프로젝트에 추가되도록 합니다.
예를 들어 웹앱에는 Grpc.AspNetCore
패키지가 추가됩니다. Grpc.AspNetCore
는 gRPC 서버 및 클라이언트 라이브러리와 도구 지원을 포함합니다. 또는 콘솔 앱에는 gRPC 클라이언트 라이브러리와 도구 지원만 포함하는 Grpc.Net.Client
, Grpc.Tools
및 Google.Protobuf
패키지가 추가됩니다.
파일 추가
add-file
명령은 디스크의 로컬 파일을 Protobuf 참조로 추가하는 데 사용됩니다. 제공되는 파일 경로와 관련해서 다음 사항을 확인합니다.
- 현재 디렉터리 기준의 상대 경로이거나 절대 경로일 수 있습니다.
- 패턴 기반 파일 와일드카드 사용을 위해 와일드카드를 포함할 수 있습니다.
프로젝트 디렉터리 외부에 파일이 있는 경우, Visual Studio의 Protos
폴더 아래에 있는 파일을 표시하기 위해 Link
요소가 추가됩니다.
사용
dotnet-grpc add-file [options] <files>...
인수
Argument | 설명 |
---|---|
files | protobuf 파일 참조입니다. 로컬 protobuf 파일의 GLOB 경로일 수 있습니다. |
옵션
짧음 옵션 | 긴 옵션 | 설명 |
---|---|---|
-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 참조로 추가하는 데 사용됩니다. 원격 파일을 다운로드할 위치를 지정하려면 파일 경로를 제공해야 합니다. 파일 경로는 현재 디렉터리 기준의 상대 경로이거나 절대 경로일 수 있습니다. 파일 경로가 프로젝트 디렉터리 외부에 있는 경우, Visual Studio의 Protos
가상 폴더 아래에 있는 파일을 표시하기 위해 Link
요소가 추가됩니다.
사용
dotnet-grpc add-url [options] <url>
인수
Argument | 설명 |
---|---|
URL | 원격 protobuf 파일의 URL입니다. |
옵션
짧음 옵션 | 긴 옵션 | 설명 |
---|---|---|
-o | --출력 | 원격 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
명령은 .csproj
파일에서 Protobuf 참조를 제거하는 데 사용됩니다. 이 명령은 경로 인수와 소스 URL을 인수로 사용합니다. 도구:
- Protobuf 참조만 제거합니다.
- 파일은
.proto
원래 원격 URL 다운로드한 경우에도 삭제하지 않습니다.
사용
dotnet-grpc remove [options] <references>...
인수
Argument | 설명 |
---|---|
references | 제거할 protobuf 참조의 URL 또는 파일 경로입니다. |
옵션
짧음 옵션 | 긴 옵션 | 설명 |
---|---|---|
-p | --project | 작업할 프로젝트 파일의 경로입니다. 파일을 지정하지 않은 경우, 명령은 현재 디렉터리에서 파일을 검색합니다. |
보충
refresh
명령은 소스 URL의 최신 콘텐츠로 원격 참조를 업데이트하는 데 사용됩니다. 다운로드 파일 경로와 소스 URL을 모두 사용하여 업데이트할 참조를 지정할 수 있습니다. 고:
- 파일 콘텐츠의 해시를 비교하여 로컬 파일을 업데이트해야 하는지를 확인합니다.
- 타임스탬프 정보는 비교되지 않습니다.
업데이트가 필요한 경우, 도구는 항상 로컬 파일을 원격 파일로 바꿉니다.
사용
dotnet-grpc refresh [options] [<references>...]
인수
Argument | 설명 |
---|---|
references | 업데이트해야 하는 원격 protobuf 참조의 URL 또는 파일 경로입니다. 모든 원격 참조를 새로 고치려면 이 인수를 비워 둡니다. |
옵션
짧음 옵션 | 긴 옵션 | 설명 |
---|---|---|
-p | --project | 작업할 프로젝트 파일의 경로입니다. 파일을 지정하지 않은 경우, 명령은 현재 디렉터리에서 파일을 검색합니다. |
--dry-run | 새 콘텐츠를 다운로드하지 않고 업데이트되는 파일 목록을 출력합니다. |
List
list
명령은 프로젝트 파일에 모든 Protobuf 참조를 표시하는 데 사용됩니다. 열의 모든 값이 기본값인 경우 열을 생략할 수 있습니다.
사용
dotnet-grpc list [options]
옵션
짧음 옵션 | 긴 옵션 | 설명 |
---|---|---|
-p | --project | 작업할 프로젝트 파일의 경로입니다. 파일을 지정하지 않은 경우, 명령은 현재 디렉터리에서 파일을 검색합니다. |
추가 리소스
ASP.NET Core