ZeroC.Ice 3.8.1

Prefix Reserved
dotnet add package ZeroC.Ice --version 3.8.1
                    
NuGet\Install-Package ZeroC.Ice -Version 3.8.1
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="ZeroC.Ice" Version="3.8.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="ZeroC.Ice" Version="3.8.1" />
                    
Directory.Packages.props
<PackageReference Include="ZeroC.Ice" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add ZeroC.Ice --version 3.8.1
                    
#r "nuget: ZeroC.Ice, 3.8.1"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package ZeroC.Ice@3.8.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=ZeroC.Ice&version=3.8.1
                    
Install as a Cake Addin
#tool nuget:?package=ZeroC.Ice&version=3.8.1
                    
Install as a Cake Tool

Ice for C#

The Ice framework provides everything you need to build networked applications, including RPC, pub/sub, server deployment, and more.

Ice for C# is the C# (and .NET) implementation of the Ice framework. The ZeroC.Ice NuGet package provides the Ice assembly.

Package | Source code | Examples | Documentation | API reference

Sample Code

// Slice definitions (Greeter.ice)

module VisitorCenter
{
    /// Represents a simple greeter.
    interface Greeter
    {
        /// Creates a personalized greeting.
        /// @param name The name of the person to greet.
        /// @return The greeting.
        ["cs:identifier:Greet"] // We prefer PascalCase for C# methods.
        string greet(string name);
    }
}
// Client application

using VisitorCenter;

await using var communicator = new Ice.Communicator(ref args);

GreeterPrx greeter = GreeterPrxHelper.createProxy(
    communicator,
    "greeter:tcp -h localhost -p 4061");

string greeting = await greeter.GreetAsync(Environment.UserName);
Console.WriteLine(greeting);
// Server application

await using var communicator = new Ice.Communicator(ref args);

Ice.ObjectAdapter adapter =
    communicator.createObjectAdapterWithEndpoints("GreeterAdapter", "tcp -p 4061");

adapter.add(new Server.Chatbot(), new Ice.Identity { name = "greeter" });

adapter.activate();
Console.WriteLine("Listening on port 4061...");

Console.CancelKeyPress += (sender, eventArgs) =>
{
    eventArgs.Cancel = true;
    Console.WriteLine("Caught Ctrl+C, shutting down...");
    communicator.shutdown();
};

await communicator.shutdownCompleted;
// Greeter implementation

using VisitorCenter;

namespace Server;

internal class Chatbot : GreeterDisp_
{
    public override string Greet(string name, Ice.Current current)
    {
        Console.WriteLine($"Dispatching greet request {{ name = '{name}' }}");
        return $"Hello, {name}!";
    }
}
Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net8.0

    • No dependencies.

NuGet packages (6)

Showing the top 5 NuGet packages that depend on ZeroC.Ice:

Package Downloads
ZeroC.Glacier2

Client library for the Glacier2 service

ZeroC.IceStorm

Client library for the IceStorm service

ZeroC.IceBox

Client library for the IceBox service

ZeroC.IceLocatorDiscovery

The IceLocatorDiscovery plug-in

ZeroC.IceGrid

Client library for the IceGrid service

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
3.8.1 294 3/2/2026
3.8.0 884 12/16/2025