The purpose of the
EventAggregator is to enable modules to publish/subscribe to events in a decoupled way (without the publisher nor the subscriber to reference each other). This is pretty much the same concept of the Event Broker in CAB.
In most general scenarios the infrastructure project does not need any reference to the
EventAggregator as it is provided directly by CAL. The Infrastructure project usually has the interfaces / implementations for the published events (subclasses of
EventBase or CompositePresentationEvent<TPayload>).
It is a recommended practice to use .net events instead of EventAggregator inside modules when other modules don’t need to handle the event. You might find the following articles from the documentation
Event Aggregator (Technical concept)
Communication (Technical concept)
Event Aggregation QuickStart
How to: Create and Publish Events
How to: Subscribe and Unsubscribe to Events
You mentioned a static class. A static class is usually used to create globally available command. You will find more information on this in the
How to: Create Globally Available Commands.
can find the MSDN landing page for Prism v2 at:
Composite Application Guidance for WPF and Silverlight.
This is the released version, so there are not any release notes. (The release notes for Prism-v1 were meant to notify of the latest changes between drops).
Hope it helps!