The library was tested with Mono 3.2.8 on Fedora release 20 against a Qpid Java Broker on localhost.

Install mono (refer to mono documentation)

Install and start the Qpid Java broker (refer to the Qpid documentation). Configure virtual host and queue as appropriate.

On Windows, build AMQP.sln. Create a new Console Application project and reference Amqp.Net.dll. Update Program.cs to be the following:
using System;
using Amqp;
using Amqp.Framing;

namespace amqplite_mono
    class Program
        static void Main(string[] args)
            Trace.TraceLevel = TraceLevel.Frame;
            Trace.TraceListener = (f, o) => Console.WriteLine(f, o);

            Address address = new Address("amqp://guest:guest@localhost:5672");

            Connection connection = new Connection(address);
            Session session = new Session(connection);
            SenderLink sender = new SenderLink(session, "send-link", "q1");

            for (int i = 0; i < 200; ++i)
                Message message = new Message();
                message.Properties = new Properties() { GroupId = "abcdefg" };
                message.ApplicationProperties = new ApplicationProperties();
                message.ApplicationProperties["sn"] = i;
                sender.Send(message, null, null);

            ReceiverLink receiver = new ReceiverLink(session, "receive-link", "q1");
            for (int i = 0; i < 200; ++i)
                Message message = receiver.Receive();
                Trace.WriteLine(TraceLevel.Information, "receive: {0}", message.ApplicationProperties["sn"]);


Build the project. Copy the EXE and all DLLs to the Fedora machine.

Run "mono amqplite.exe". It should output the frame traces for AMQP protocol handshake and all messages sent and received.

Last edited Dec 12, 2014 at 6:58 AM by xinchen, version 3