I'm trying to get the transactional .NET monitor sample to work from the IBM WebSphere 9.0 documentation (see Using the .NET monitor, page 675 of the folowing document: <ftp://public.dhe.ibm.com/software/integration/wmq/docs/V9.0/PDFs/mq90.develop.pdf>)

I managed to compile everything ok (targetting .NET 2.0), but when running the monitor with runmqdnm as follows, I get an exception:

```
runmqdnm -m myqmgr -q myqueue -a TransactionalMonitor.dll -c TransactionalMonitor.Monitor 
5724-H72 (C) Copyright IBM Corp. 1994, 2017.
AMQ8377: Unexpected error 2354 was received by the application. 

```

I'm running the sample directly on my MQ server, which is a Windows Server 2012 R2 machine with IBM MQ 9.0.0.3 server installed.

For reference, the code I implemented:

```
using System.EnterpriseServices;
using IBM.WMQ;
using IBM.WMQMonitor;

[assembly: ApplicationName("TransactionalMonitor")]

namespace TransactionalMonitor
{
    [Transaction(TransactionOption.Required)]
    public class Monitor : ServicedComponent, IMQObjectTrigger
    {
        [AutoComplete(true)]
        public void Execute(MQQueueManager qmgr, MQQueue queue, MQMessage message, string param)
        {
            System.Console.WriteLine("SETTING COMMIT");
            ContextUtil.SetComplete();
        }
    }
}

```

When removing the transactional stuff the sample works OK.
What am I doing wrong?