Icicle (Ice for C#) Alpha 1 released

michimichi Member Michi HenningOrganization: Triodia TechnologiesProject: I have a passing interest in Ice :-) ✭✭✭

if you are interested in having a hack with Ice and C#, have a look at the attached zip file. It's the first alpha of Icicle. Things are a bit rough right now and not well documented, but the basic functionality is there.

You can download the code from http://www.zeroc.com/download/Icicle/Alpha1/Icicle.zip.

The text of the README file appears below



This is the Alpha 1 release of Icicle (Ice for C#).

This is a release with limited functionality. In particular,
the following features of Ice for C++ are currently not

- Asynchronous Method Invocation (AMI) and Asynchronous Method Dispatch (AMD)

- Protocol compression

- Protocol encryption

- Any of the Ice services (Freeze, Glacier, etc.)

Supported environments:

Windows only at the moment (we are working on a Mono implementation).

The code has been built and tested with Visual C# Version 7.1.3088
and .NET Framework 1.1 Version 1.1.4322.

Build instructions:

Unpack the archive into the top-level directory for the Ice sources.

The archive is relative to the root of the Ice source tree collection
For example, if you normally build Ice in /home/me, you will already
have the following directories.

/home/me/ice - Ice for C++ source tree
/home/me/icej - Ice for Java source tree
/home/me/icephp - Ice for PHP source tree

Unpack the archive in /home/me to create

/home/me/icicle - Ice for C# source tree

The archive also contains ice/bin/slice2cs.exe. This is a statically-linked
version of the Slice-to-C# compiler. You need to add the directory containing
the slice2cs executable to your PATH.

Once unpacked, open All.sln from Visual C# and build the "All" solution.
(Both debug and release builds are configured.)

Note: The first time you build, you will most likely find that you get errors
for the "adapterDeactivationCOL" project. The work-around is to rebuild (not
build) this project once you have seen the errors. Thereafter, building the
project seems to work fine. (If someone can work out why this is happening,
please let us know!)


Copy the generated icicle/lib/Ice.dll file where you want it.

Running the tests:

To run the tests, you will need Python (http://www.activestate.com/Products/ActivePython/).
Run "python allTests.py" from the icicle directory to run all of the tests, or
"python allTests.py -l" to run the tests in an endless loop.

You can also run individual tests in the various test directories with "python run.py".

Known issues:

- Performance is atrocious right now. (If you want to convince yourself of that, run
the throughput demo :-) We know about this and will fix it for the next release.

- There is no documentation right now. To find out how the C# language mapping works,
have a look at the tests and demos, or look at the code generated by slice2cs.

Please let us know about any bugs, comments, or feedback in the Ice forum at
Sign In or Register to comment.