Open sandboxFocusImprove this doc

Status of the migration of PostSharp features to Metalama

PostSharp Aspect Framework

The PostSharp Framework has been entirely ported to Metalama, with a few notable limitations:

  • Methods from an external assembly can't be intercepted; only those from the current project can.
  • The event of suspending and resuming an async state machine can't be advised. Specifically, the await keyword can't be advised.
  • Some constructor-related advice types aren't yet implemented:
    • After the last constructor
    • After MemberwiseClone

PostSharp Architecture Framework

The equivalent of PostSharp Architecture Framework (e.g., the PostSharp.Constraints namespace) is the Metalama.Extensions.Architecture package.

See Verifying architecture for details.

PostSharp Patterns

Library Migration Status Documentation Feature gaps
Contracts Completed Metalama.Patterns.Contracts None
Caching Completed Metalama.Patterns.Caching None
INotifyPropertyChanged Completed Metalama.Patterns.Observability See Migrating the [NotifyPropertyChanged] aspect
WPF Completed Metalama.Patterns.Wpf None
Undo/Redo Not planned
Diagnostics (logging) Not planned
Multi-threading Not planned
Aggregatable Not planned
Weak event Not planned
Note

Contact us if you have an enterprise subscription and rely on a PostSharp feature that we don't plan to migrate to Metalama.