Metalama 新版本发表

Released: Apr 17, 2024

2024.1 中的更新

特性

  • Unification of Visual Studio Tools for Metalama and PostSharp - Metalama and PostSharp's Visual Studio extensions have been combined into one, creating a unified development experience. Whether you're using Metalama, PostSharp, or both, you'll need to install just one extension: the Visual Studio Tools for Metalama and PostSharp.
  • Aspect Explorer - The Aspect Explorer tool window, previously exclusive to PostSharp users, now also supports Metalama. The Aspect Explorer features three panels...

Released: Mar 21, 2024

2024.0.11 中的更新

修补程序

  • Fixed null reference exception when comparing assembly versions in ResourceExtractor.

Released: Mar 19, 2024

2024.0.10 中的更新

特性

  • Merged Roslyn that comes with .NET SDK 8.0.203.

修补程序

  • Attribute "type", and "typevar" target specifiers are not supported.
  • Referencing old aspect assembly with new Metalama throws when deserializing TransitiveAspectManifest.
  • Exception when attempting to add an aspect to delegate invoke method through a fabric.
  • Incorrect documentation comment location when replacing one of the multiple attributes.

Released: Feb 29, 2024

2024.0.9 中的更新

特性

  • 'IntroduceAttribute' now works with enum and delegate.

修补程序

  • Design-time exception: Aspect type does not belong to the current compilation at design time.
  • Exception when attempting to introduce attribute with Type argument.

Released: Feb 23, 2024

2024.0.8 中的更新

特性

  • Merged Roslyn 4.9.

修补程序

  • Exception "item with the same key has already been added" in SerializerGenerator
  • Blazor source generators broken with .NET SDK 8.0.200.

Released: Feb 7, 2024

2024.0.7 中的更新

修补程序

  • License audit is always disabled.
  • User-defined diagnostics are not registered in the user profile. Restarting the IDE does not help.
  • VSX: Hang on Xamarin XAML code.

Released: Jan 2, 2024

2024.0 中的更新

特性

  • Added support for C# 12:
    • Merged Roslyn 4.8 into Metalama.Compiler, the open-source branch of Roslyn adding code transformers.
    • Updated and tested Metalama.Framework to support the following additional C# features:
      • Default lambda parameters.
      • Inline arrays in run-time code.
      • nameof: Access to instance members from a static context.
      • Primary constructors.
      • Type aliases.
      • Collection expressions (also known as collection literals) like [1,2,..array].
      • AppendParameter advice (utilized in dependency...

Released: Nov 6, 2023

2023.4 中的更新

特性

  • Open Source and Source-Available Commitments - To enhance transparency and simplify troubleshooting, the source code of all Metalama components is now available for review;
    • Metalama.Compiler, the custom Roslyn fork, is now freely available as open-source software, distributed under its original MIT license.
    • Metalama.Framework, the core component of Metalama, is now available under a proprietary source-available license.
    • Metalama.Extensions and Metalama.Patterns have been open-source since...

Released: Oct 17, 2023

2023.3 中的更新

特性

  • Added auxiliary template support which makes it possible for T# templates to call upon other T# templates. The advantages of utilizing auxiliary templates include:
    • Code reuse across templates.
    • The opportunity for abstraction and specialization through virtual and override templates.
  • Roslyn Access - You can now tap into the Roslyn API for granular code model analysis via the Metalama.Framework.Sdk package. Previously, this package was available but not directly accessible from an aspect...

Released: Aug 7, 2023

2023.2 中的更新

特性

  • IAdviceFactory.ImplementInterface: The members created by IAdviceFactory.ImplementInterface are now exposed via the IImplementInterfaceAdviceResult interface.
  • An extension method, IType.ToTypeOfExpression(), has been added, returning an IExpression representing the typeof for the given type.
  • The test framework is now compatible with xUnit 2.5.0.
  • The [Inheritable] annotation can be added to type fabrics, which prompts the type fabric invocation not only for the target type but also for all...