Search code examples
postsharp

PostSharp logging smart tag unavailable


I'm just getting started with PostSharp. For some reason I'm not seeing the logging smart tag - the only option I have is adding "architecture constraints".

Also I'm not seeing the smart tag on private methods.

What may be the problem?

UPDATE

Diagnostics output:

devenv.exe Information: 0 : OnBeforeDocumentWindowShow
devenv.exe Information: 0 : Smart tag: restart quiet period.
devenv.exe Information: 0 : Ignoring this tick because it's too early.
devenv.exe Information: 0 : Smart tag: OnTick
devenv.exe Information: 0 : AddAspectsSmartTagger.UpdateCurrentCodeElement
devenv.exe Information: 0 : AddAspectsSmartTagger.GetTag
devenv.exe Information: 0 : Determining eligibility of PostSharp.VisualStudio.Services.QuickAction.Actions.Architecture.ComponentInternalConstraintTypeAction.
devenv.exe Information: 0 : Determining eligibility of PostSharp.VisualStudio.Services.QuickAction.Actions.Architecture.InternalImplementConstraintAction.
devenv.exe Information: 0 : Determining eligibility of PostSharp.VisualStudio.Services.QuickAction.Actions.Domain.AggregatableAction.
devenv.exe Information: 0 : Determining eligibility of PostSharp.VisualStudio.Services.QuickAction.Actions.Domain.ChildAction.
devenv.exe Information: 0 : Determining eligibility of PostSharp.VisualStudio.Services.QuickAction.Actions.Domain.DisposableAction.
devenv.exe Information: 0 : Determining eligibility of PostSharp.VisualStudio.Services.QuickAction.Actions.Domain.EditableObjectAction.
devenv.exe Information: 0 : Determining eligibility of PostSharp.VisualStudio.Services.QuickAction.Actions.Domain.ParentAction.
devenv.exe Information: 0 : Determining eligibility of PostSharp.VisualStudio.Services.QuickAction.Actions.Domain.RecordableAction.
devenv.exe Information: 0 : Determining eligibility of PostSharp.VisualStudio.Services.QuickAction.Actions.Domain.ReferenceAction.
devenv.exe Information: 0 : Determining eligibility of PostSharp.VisualStudio.Services.QuickAction.Actions.Domain.CreditCardQuickAction.
devenv.exe Information: 0 : Determining eligibility of PostSharp.VisualStudio.Services.QuickAction.Actions.Domain.EmailAddressQuickAction.
devenv.exe Information: 0 : Determining eligibility of PostSharp.VisualStudio.Services.QuickAction.Actions.Domain.GreaterThanQuickAction.
devenv.exe Information: 0 : Determining eligibility of PostSharp.VisualStudio.Services.QuickAction.Actions.Domain.LessThanQuickAction.
devenv.exe Information: 0 : Determining eligibility of PostSharp.VisualStudio.Services.QuickAction.Actions.Domain.NotEmptyQuickAction.
devenv.exe Information: 0 : Determining eligibility of PostSharp.VisualStudio.Services.QuickAction.Actions.Domain.NotNullQuickAction.
devenv.exe Information: 0 : Determining eligibility of PostSharp.VisualStudio.Services.QuickAction.Actions.Domain.PhoneQuickAction.
devenv.exe Information: 0 : Determining eligibility of PostSharp.VisualStudio.Services.QuickAction.Actions.Domain.PositiveQuickAction.
devenv.exe Information: 0 : Determining eligibility of PostSharp.VisualStudio.Services.QuickAction.Actions.Domain.RangeQuickAction.
devenv.exe Information: 0 : Determining eligibility of PostSharp.VisualStudio.Services.QuickAction.Actions.Domain.RequiredQuickAction.
devenv.exe Information: 0 : Determining eligibility of PostSharp.VisualStudio.Services.QuickAction.Actions.Domain.StrictlyPositiveQuickAction.
devenv.exe Information: 0 : Determining eligibility of PostSharp.VisualStudio.Services.QuickAction.Actions.Domain.UrlQuickAction.
devenv.exe Information: 0 : Determining eligibility of PostSharp.VisualStudio.Services.QuickAction.Actions.Threading.ApplyThreadingModelAction.
devenv.exe Information: 0 : Determining eligibility of PostSharp.VisualStudio.Services.QuickAction.Actions.Threading.DeadlockDetectionAction.
devenv.exe Information: 0 : Determining eligibility of PostSharp.VisualStudio.Services.QuickAction.Actions.Architecture.AddConstraintAction.
devenv.exe Information: 0 :   eligible.
devenv.exe Information: 0 : Determining eligibility of PostSharp.VisualStudio.Services.QuickAction.Actions.Architecture.ComponentInternalConstraintAction.
devenv.exe Information: 0 : Determining eligibility of PostSharp.VisualStudio.Services.QuickAction.Actions.Architecture.InternalConstraintAction.
devenv.exe Information: 0 :   eligible.
devenv.exe Information: 0 : Determining eligibility of PostSharp.VisualStudio.Services.QuickAction.Actions.Architecture.ProtectedConstraintAction.
devenv.exe Information: 0 :   eligible.
devenv.exe Information: 0 : Determining eligibility of PostSharp.VisualStudio.Services.QuickAction.Actions.Threading.UpgradeableReaderLockAction.
devenv.exe Information: 0 :   not eligible because of PostSharp.VisualStudio.Services.QuickAction.Filters.PackageCompatibilityFilter does not match.
devenv.exe Information: 0 : Determining eligibility of PostSharp.VisualStudio.Services.QuickAction.Actions.Diagnostics.LogAction.
devenv.exe Information: 0 :   not eligible because of PostSharp.VisualStudio.Services.QuickAction.Filters.PackageCompatibilityFilter does not match.
devenv.exe Information: 0 : Determining eligibility of PostSharp.VisualStudio.Services.QuickAction.Actions.Domain.NotifyPropertyChangedAction.
devenv.exe Information: 0 : Determining eligibility of PostSharp.VisualStudio.Services.QuickAction.Actions.Threading.BackgroundMethodAction.
devenv.exe Information: 0 :   not eligible because of PostSharp.VisualStudio.Services.QuickAction.Filters.PackageCompatibilityFilter does not match.
devenv.exe Information: 0 : Determining eligibility of PostSharp.VisualStudio.Services.QuickAction.Actions.Threading.DispatchedAttribute.
devenv.exe Information: 0 :   not eligible because of PostSharp.VisualStudio.Services.QuickAction.Filters.PackageCompatibilityFilter does not match.
devenv.exe Information: 0 : Determining eligibility of PostSharp.VisualStudio.Services.QuickAction.Actions.Threading.ObserverLockAction.
devenv.exe Information: 0 :   not eligible because of PostSharp.VisualStudio.Services.QuickAction.Filters.PackageCompatibilityFilter does not match.
devenv.exe Information: 0 : Determining eligibility of PostSharp.VisualStudio.Services.QuickAction.Actions.Threading.ReaderLockAction.
devenv.exe Information: 0 :   not eligible because of PostSharp.VisualStudio.Services.QuickAction.Filters.PackageCompatibilityFilter does not match.
devenv.exe Information: 0 : Determining eligibility of PostSharp.VisualStudio.Services.QuickAction.Actions.Threading.WriterLockAction.
devenv.exe Information: 0 :   not eligible because of PostSharp.VisualStudio.Services.QuickAction.Filters.PackageCompatibilityFilter does not match.
devenv.exe Information: 0 : Determining eligibility of PostSharp.VisualStudio.Services.QuickAction.Actions.Architecture.ComponentInternalConstraintTypeAction.
devenv.exe Information: 0 : Determining eligibility of PostSharp.VisualStudio.Services.QuickAction.Actions.Architecture.InternalImplementConstraintAction.
devenv.exe Information: 0 : Determining eligibility of PostSharp.VisualStudio.Services.QuickAction.Actions.Architecture.ComponentInternalConstraintAction.
devenv.exe Information: 0 : Determining eligibility of PostSharp.VisualStudio.Services.QuickAction.Actions.Architecture.InternalConstraintAction.
devenv.exe Information: 0 :   eligible.
devenv.exe Information: 0 : Determining eligibility of PostSharp.VisualStudio.Services.QuickAction.Actions.Architecture.ProtectedConstraintAction.
devenv.exe Information: 0 :   eligible.
devenv.exe Information: 0 :   found 1 actions

The part that causing trouble says not eligible because of PackageCompatibilityFilter does not match. What does it mean?

UPDATE 2 I'm targeting .NET 3.5; If I switch to .NET 4.5 the logging becomes available. Is this a limitation of PostSharp?


Solution

  • PostSharp Diagnostics Pattern Library is not supported on .NET 3.5. The same goes for other Pattern Libraries.

    You would have to use PostSharp itself (Aspect Framework) to implement similar logic.