aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/csharp/README.md
blob: 0df6925b3955da4b40124a36216bc7c09a8dab95 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
gRPC C#
=======

A C# implementation of gRPC, Google's RPC library.

EXPERIMENTAL ONLY
-----------------

**This gRPC C# implementation is work-in-progress and is not expected to work yet.**

- The implementation is a wrapper around gRPC C core library
- Code only runs under mono currently, building gGRPC C core library under Windows
  is in progress.
- It is very possible that some parts of the code will be heavily refactored or
  completely rewritten.


INSTALLATION AND USAGE
----------------------

- Compile and install the gRPC C Core library
```
make shared_c
sudo make install
```

- Prerequisites for development: Mono framework, MonoDevelop (IDE)
```
sudo apt-get install mono-devel
sudo apt-get install monodevelop monodevelop-nunit
sudo apt-get install nunit nunit-console
```

- Use MonoDevelop to open the solution Grpc.sln (you can also run unit tests
  from there).

- After building the solution with MonoDevelop, you can use
  nunit-console to run the unit tests (currently only running one by
  one will make them pass.

```
nunit-console GrpcCoreTests.dll
```

CONTENTS
--------

- ext:
  The extension library that wraps C API to be more digestible by C#.
- GrpcApi:
  API examples for math.proto and testservice.proto
- GrpcCore:
  The main gRPC C# library.
- InteropClient:
  Client for interop testing.
- MathClient:
  An example client that sends some requests to math server.