26 packages tagged with “weaving”
Attributes-based compile-time AOP framework. Cross-cutting concerns made easy! Just apply your attributes where you need them and everything automagicaly works! No xml configs! No wierd reflection hacks! No runtime emit! Works with AOT and Blazor! See release notes for this version here: https://github.com/pamidur/aspect-injector/releases/tag/2.9.0
A Fody weaver which allows to decorate methods and hook into method start, method end and method exceptions. Additionally you have access to useful method parameters.
Catel fody add-in that automatically generates Catel style properties and more!
Fody add-in for forcing referenced assemblies to be loaded on startup. This allows other modules to register types without actually having to using their types directly.
"Syringe is simple engine for post build IL level assembly processing. It serves as a bridge between IL code weaving logic (implemented in separate dll) and target project's build process. Syringe uses MEF (Managed Extensibility Framework) to collect every class exported as ICodeAmpoule contract and injects it into project's build process."
IL Rewrite Implement INotifyPropertyChanged
Compile time IL weaver for AOP implementation.
Mimick is a Fody add-in which provides a framework for applications including dependency injection, contract validation, method caching, custom aspect decorators, and more.
This framework provides a generator to generate proxy class which can override non-final virtual methods of base classes in run-time. The generator is implemented with dynamic IL weaving via System.Reflection.Emit library. It is designed in plugin model, which allows users to easily extend its function.
This library is still in stablizing phase, it's features and interface may be unstable.
Afterthought allows developers to post-process .NET assemblies to add code that either cannot be added to the original source or is not convenient/efficient to do so. Afterthought runs as a post-build step to process one or more assemblies. It discovers and processes amendments that you create or borrow from others. The amendments allow you to add or modify the behavior of constructors, properties, methods, or events, and add new fields and attributes. Amendments can also modify types to implement new interfaces. The modified assembly just includes simple static calls into existing code that you write in a natural and strongly-typed way when writing amendments. Assembly amendments support using Afterthought to modify an assembly without introducing a runtime dependency on Afterthought. This is a forked version that handles
Afterthought allows developers to post-process .NET assemblies to add code that either cannot be added to the original source or is not convenient/efficient to do so. Afterthought runs as a post-build step to process one or more assemblies. It discovers and processes amendments that you create or borrow from others. The amendments allow you to add or modify the behavior of constructors, properties, methods, or events, and add new fields and attributes. Amendments can also modify types to implement new interfaces. The modified assembly just includes simple static calls into existing code that you write in a natural and strongly-typed way when writing amendments. Assembly amendments support using Afterthought to modify an assembly without introducing a runtime dependency on Afterthought.
A MSBuild task that scans assemblies for locations to patch in IL code that normally cannot be generated from C# (e.g. cpblk/memcpy). The majority of the stub methods available are generic, which allows for low overhead (e.g. no boxing) when working with struct types and interoping with (unmanaged) memory pointers. The nuget package works with both PackageReference and the older nuget config format. The stub methods are served as a content file that will be added to your project with a namespace transformation. The generated code behaves similarly to the new Unsafe library, but this patcher allows you to inject that behavior directly into your own assembly, avoiding additional nuget dependencies or reliance on packing tools like ILMerge. Note: C# 7.2 is required as of version 2.0.
CrmLogger.Fody is a Fody add-in that injects logging for function entry, exit, parameters, and return value for Dynamics CRM Logger (https://github.com/yagasoft/DynamicsCrm-CrmLogger) solution.
Lightweight AOP (Aspect-Oriented Programming) library with PostSharp-compatible API. Supports method interception, boundary aspects, and property interception with compile-time IL weaving via Fody. Single package includes both library and Fody weaver.
Powerful weaving capabilities for HTML files.
Powerful weaving capabilities for TypeScript files.
Attributes-based compile-time AOP framework. Cross-cutting concerns made easy! Just apply your attributes where you need and everything automagicaly works! No xml configs! No wierd reflection hacks! No runtime emit! Works with AOT and Blazor! See release notes for this version here: https://github.com/pamidur/aspect-injector/releases/tag/
Fody weaver for DotNetAspects. Provides compile-time IL weaving for PostSharp-compatible aspects including MethodInterceptionAspect with Proceed() support.
Moves nullable constraints to comply with older Mono frameworks (e.g. Unity 2017) allowing you to use NRTs.
Library that enables the user to validate the most frequently used .Net framework attributes.
Emits lambdas as static methods when possible.
Removes unused private/internal types during compile-time.