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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
# Building Ice for .NET
This page describes how to build and install Ice for .NET from source code using
Visual Studio. If you prefer, you can also download [binary distributions][1]
for the supported platforms.
## Build Requirements
### Operating Systems and Compilers
Ice for .NET was extensively tested using the operating systems and compiler
versions listed for our [supported platforms][2].
The build requires the [Ice Builder for Visual Studio][3], you must install
version 4.3.6 or greater to build Ice.
## Compiling Ice for .NET with Visual Studio
### Preparing to Build
The build system requires the `slice2cs` compiler from Ice for C++. If you have
not built Ice for C++ in this source distribution, refer to [C++ build instructions](../cpp/BuildInstructionsWindows.md).
### Building Ice for .NET
Open a Visual Studio command prompt and change to the `csharp` subdirectory:
cd csharp
To build the Ice assemblies, services and tests, run
MSBuild msbuild\ice.proj
It is also possible to build the test suite using the binary Nuget packages, use:
MSbuild msbuild\ice.proj /p:ICE_BIN_DIST=all
Upon completion, the Ice assemblies are placed in the `Assemblies` subdirectory.
## Running the .NET Tests
Python is required to run the test suite. Additionally, the Glacier2 tests
require the Python module `passlib`, which you can install with the command:
> pip install passlib
To run the tests, open a command window and change to the top-level directory.
At the command prompt, execute:
> python allTests.py
If everything worked out, you should see lots of `ok` messages. In case of a
failure, the tests abort with `failed`.
## Targeting Managed Code
Ice invokes unmanaged code to implement the following features:
- Protocol compression
- Signal processing in the Ice.Application class
if you do not require these features and prefer that the Ice run time use only
managed code, you can build using the `Debug-Managed` or `Release-Manage`
configurations.
MSBuild msbuild\ice.proj /p:Configuration=Release-Managed
## Nuget packages
To create a Nuget package for the distribution use the following command:
MSbuild msbuild\ice.proj /t:NugetPack
This will create `zeroc.ice.net\zeroc.ice.net.nupkg`.
[1]: https://zeroc.com/download.html
[2]: https://doc.zeroc.com/display/Ice37/Supported+Platforms+for+Ice+3.7.0
[3]: https://github.com/zeroc-ice/ice-builder-visualstudio
|