You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Non-intercepted methods on a class proxy with target are now forwarded to the target (@stakx, #571)
Significant performance improvements with proxy type generation for interface proxies without target. Up until now, DynamicProxy generated a separate IInvocation implementation type for every single proxied method – it is now able to reuse a single predefined type in many cases, thereby reducing the total amount of dynamic type generation. (@stakx, #573)
Bugfixes
Generic method with differently named generic arguments to parent throws KeyNotFoundException (@stakx, #106)
Proxying certain [Serializable] classes produces proxy types that fail PEVerify test (@stakx, #367)
private protected methods are not intercepted (@CrispyDrone, #535)
DynamicProxy generates two modules when proceeding from a class proxy's protected method to the target, causing an InvalidOperationException when saving the generated assembly to disk (@stakx, #569)
Removed support for Code Access Security (CAS). (@stakx, #502)
Removed support for Remoting. This library no longer defines any types deriving from MarshalByRefObject, and ProxyUtil.IsProxy (which used to recognize remoting/"transparent" proxies) now tests only for DynamicProxy proxies. (@stakx, #507)
The following public members have been removed:
Castle.Core.Internal.CollectionExtensions (class)
Castle.Core.Internal.Lock (class) along with all related types and methods
Castle.Core.Pair<,> (type). Use System.ValueTuple<,> or System.Tuple<,> instead.
all type members in Castle.DynamicProxy.ModuleScope that gave direct access to DynamicProxy's type cache and ModuleBuilders. Only SaveAssembly, LoadAssemblyIntoCache, and members supporting these two facilities are left public.
almost all types and type members in the Castle.DynamicProxy.* sub-namespaces, as most of them are intended for internal use only.
DynamicProxy's custom exception types have been replaced by standard BCL exceptions (where appropriate), and by a single DynamicProxyException type for internal DynamicProxy errors.