Adds support for C# 8 and .NET Core 3.0 WPF and WinForms.
December 04, 2019 - 12:54
New Version
Features
- Adds support for C# 8.
- Adds support for .NET Core 3.0 WPF and WinForms.
- Adds support for .NET Core 3.0 and .NET Standard 2.1.
- Aspect Framework: Adds the advice OnInstanceLocationInitialized as a standalone advice and into LocationInterceptionAspect. The OnSetValue advice now intercepts a write in some cases where it previously did not.
- Aspect Framework: You can now order semantically-advised method boundary aspects before non-semantically-advised aspects on iterator methods and methods that return IEnumerable.
- VSX: Notification when the subscription is expiring.
Fixes
- AntLR package causes ambiguous match during type mapping (.NET Core 3.0).
- Aspect Framework: Indexer was not introduced correctly via IntroduceMember when no indexer was already present in the target type.
- Aspect Framework: Location validation aspects may conflict with another aspect on a different parameter of the same method.
- Aspect Framework: OnInstanceConstructed advice causes the build to fail if the aspect is generic.
- Aspect Framework: OnInstanceConstructed causes the build to fail if applied to a struct.
- Aspect Framework: PostSharp's [Introduce...] attributes use tail calls even where not legal.
- Aspect Framework: When an aspect was applied to another aspect, it was silently ignored. Explicit application will emit a warning now.
- AspectInitializationClient for type is not ordered before the one for members.
- Build fails when targeting .NET Core 3 and win-x64 target runtime.
- BuildClient uses a library selected by NuGet for target framework instead of selecting the best assembly for the runtime framework.
- Cannot build a .NET Core 3 x86 project.
- Emit build-time profiling information as csv file instead of appending to the log.
- Improve the exception message when serialization or deserialization of aspects throws.
- INotifyPropertyChanged: You can now apply NotifyPropertyChanged on iterator methods alongside [Log] and threading aspects.
- MergeAppConfig is invoked in .NET Core projects.
- Multicasting: AttributeTargetTypes required the user to put both arity and generic parameter names.
- PostSharp crashes on .NET Core SDK 3.0.101.
- PostSharp package should contain unzipper tool in build/_common directory.
- PostSharp.Patterns.Diagnostics package contains wrong assembly for net47 (net46).
- PostSharpValidateLanguageVersion and GetMaxLangVersion tasks should handle "preview" language version.
- Publishing a .NET Core 3 project fails with System.ArgumentException: Invalid image.
- ReflectionObjectBuilder throws AssertionFailedException when a type in RuntimeBindingContext is not compatible with the same type in ReferenceBindingContext.
- Remove the dependency on _CopyFilesMarkedCopyLocal target in build process.
- Unzipper doesn't run without .NET Core 2.1 being installed.
- XAML: Dependency properties ignored auto-property initializers.
- XAML: Dependency properties: property value should not be checked in OnLocationInitialized when value is not set.
- XAML: Dependency properties: PropertyMetadata.DefaultValue is not set.
Add patterns and thread safety to C# and VB.
Got a Question?
Live Chat with our PostSharp Technologies licensing specialists now.
Official Distributor since 2015