To maximize utility, there are a number of different API's to receive and process messages: One way to receive messages (useful in long-running clients) is to assign handlers for each of the different events that are fired.
To allow the event handler assembly to be installed in the global assembly cache, it must be signed with a strong name.
A strong name consists of the assembly's identity—its simple text name, version number, and culture information (if provided)—plus a public key and a digital signature.
Because you will later copy the Test Event assembly and run it on the computer running Office Project Server, you can develop it on a different computer.
You can deploy the event handler assembly either to a special event handler directory or to the global assembly cache.
Currently I'm using Project Server 2013 and trying to make remote event handlers work.
Remote event handlers are in WCF service which is in ASP.
However, results were kind of surprising: Nothing in logs, which means that CRUDing tasks for Share Point Task List Project doesn't fire any event.
Btw, handlers were correct and subscribed properly because I could see logs say for Creating Project.
In this article Developing an Event Handler Deploying the Event Handler Registering the Event Handler Association Testing the Event Handler: Using the Event Viewer and the ULS Log Debugging the Event Handler The Events service provides a way to extend Microsoft Project Server 2010 by adding new business logic.