<PackageReference Include="Castle.Core" Version="5.0.0-beta001" />
    
    
API Differences between 5.0.0-beta001 and 4.3.1
	
		775 Additions
	
	
		160 Removals
	
Castle.Components.DictionaryAdapter
	- 
		public class BindingList<T> : IBindingList<T>, IList<T>, ICollection<T>, IEnumerable<T>, IEnumerable, IBindingListSource, ICancelAddNew, IRaiseItemChangedEvents, IList, ICollection
		
	
 
	- 
		public class BindingListInitializer<T> : IValueInitializer
		
	
 
	- 
		public abstract class DictionaryAdapterBase : IDictionaryCreate, IDictionaryAdapter, IDictionaryEdit, IEditableObject, IRevertibleChangeTracking, IChangeTracking, IDictionaryNotify, INotifyPropertyChanging, INotifyPropertyChanged, IDictionaryValidate, IDataErrorInfo
		
			- public string Error { get; }
 
			- public string this[string columnName] { get; }
 
		
	 
	- 
		public class DictionaryAdapterFactory : IDictionaryAdapterFactory
		
	
 
	- 
		public class DictionaryValidateGroup : IDictionaryValidate, IDataErrorInfo, INotifyPropertyChanged, IDisposable
		
			- public string Error { get; }
 
			- public string this[string columnName] { get; }
 
		
	 
	- 
		public class EditableBindingList<T> : BindingList<T>, IList<T>, ICollection<T>, IEnumerable<T>, IEnumerable, IEditableObject, IRevertibleChangeTracking, IChangeTracking
		
	
 
	- 
		public interface IBindingList<T> : IList<T>, ICollection<T>, IEnumerable<T>, IEnumerable, IBindingListSource, ICancelAddNew, IRaiseItemChangedEvents
		
	
 
	- 
		public interface IBindingListSource
		
	
 
	- 
		public interface IDictionaryAdapterFactory
		
	
 
	- 
		public class ListProjection<T> : IBindingList<T>, IList<T>, ICollection<T>, IEnumerable<T>, IEnumerable, IBindingListSource, ICancelAddNew, IRaiseItemChangedEvents, IBindingList, ICollection, IList, IEditableObject, IRevertibleChangeTracking, IChangeTracking, ICollectionProjection, ICollectionAdapterObserver<T>
		
	
 
	- 
		public class SetProjection<T> : ListProjection<T>, ISet<T>, ICollection<T>, IEnumerable<T>, IEnumerable
		
	
 
Castle.Components.DictionaryAdapter.Xml
	- 
		public class CompiledXPath
		
	
 
	- 
		public class CompiledXPathNode
		
	
 
	- 
		public class CompiledXPathStep : CompiledXPathNode
		
	
 
	- 
		public enum CursorFlags
		
	
 
	- 
		public static class CursorFlagsExtensions
		
	
 
	- 
		public sealed class DefaultXmlReferenceFormat : IXmlReferenceFormat
		
	
 
	- 
		public static class DictionaryAdapterExtensions
		
	
 
	- 
		public interface IConfigurable<T>
		
	
 
	- 
		public interface IRealizable<T> : IRealizableSource
		
	
 
	- 
		public interface IRealizableSource
		
	
 
	- 
		public interface IXmlAccessor
		
	
 
	- 
		public interface IXmlBehaviorSemantics<T>
		
	
 
	- 
		public interface IXmlCollectionAccessor : IXmlAccessor
		
	
 
	- 
		public interface IXmlContext : IXmlNamespaceSource
		
	
 
	- 
		public interface IXmlCursor : IXmlIterator, IXmlNode, IXmlKnownType, IXmlIdentity, IRealizableSource, IVirtual
		
	
 
	- 
		public interface IXmlIdentity
		
	
 
	- 
		public interface IXmlIncludedType
		
	
 
	- 
		public interface IXmlIncludedTypeMap
		
	
 
	- 
		public interface IXmlIterator : IXmlNode, IXmlKnownType, IXmlIdentity, IRealizableSource, IVirtual
		
	
 
	- 
		public interface IXmlKnownType : IXmlIdentity
		
	
 
	- 
		public interface IXmlKnownTypeMap
		
	
 
	- 
		public interface IXmlNamespaceSource
		
	
 
	- 
		public interface IXmlNode : IXmlKnownType, IXmlIdentity, IRealizableSource, IVirtual
		
	
 
	- 
		public interface IXmlNodeSource
		
	
 
	- 
		public interface IXmlPropertyAccessor : IXmlAccessor
		
	
 
	- 
		public interface IXmlReferenceFormat
		
	
 
	- 
		public static class RealizableExtensions
		
	
 
	- 
		public class SingletonDispenser<TKey, TItem>
		
	
 
	- 
		public class SysXmlCursor : SysXmlNode, IXmlCursor, IXmlIterator, IXmlNode, IXmlKnownType, IXmlIdentity, IRealizableSource, IVirtual
		
	
 
	- 
		public static class SysXmlExtensions
		
	
 
	- 
		public class SysXmlNode : XmlNodeBase, IXmlNode, IXmlKnownType, IXmlIdentity, IRealizableSource, IVirtual, IRealizable<XmlNode>, IRealizable<XPathNavigator>
		
			- protected XmlNode node
 
			- public virtual bool IsAttribute { get; }
 
			- public virtual bool IsElement { get; }
 
			- public virtual bool IsNil { get; set; }
 
			- public virtual XmlName Name { get; }
 
			- public object UnderlyingObject { get; }
 
			- public virtual string Value { get; set; }
 
			- public virtual string Xml { get; }
 
			- public virtual XmlName XsiType { get; }
 
			- protected SysXmlNode(IXmlNamespaceSource namespaces, IXmlNode parent)
 
			- public SysXmlNode(XmlNode node, Type type, IXmlNamespaceSource namespaces)
 
			- public void Clear()
 
			- public void DefineNamespace(string prefix, string namespaceUri, bool root)
 
			- public virtual object Evaluate(CompiledXPath path)
 
			- public string GetAttribute(XmlName name)
 
			- public XmlNode GetNode()
 
			- public string LookupNamespaceUri(string prefix)
 
			- public string LookupPrefix(string namespaceUri)
 
			- public XmlReader ReadSubtree()
 
			- public virtual IXmlNode Save()
 
			- public IXmlCursor Select(CompiledXPath path, IXmlIncludedTypeMap includedTypes, IXmlNamespaceSource namespaces, CursorFlags flags)
 
			- public IXmlCursor SelectChildren(IXmlKnownTypeMap knownTypes, IXmlNamespaceSource namespaces, CursorFlags flags)
 
			- public IXmlCursor SelectSelf(Type clrType)
 
			- public IXmlIterator SelectSubtree()
 
			- public void SetAttribute(XmlName name, string value)
 
			- public bool UnderlyingPositionEquals(IXmlNode node)
 
			- public XmlWriter WriteAttributes()
 
			- public XmlWriter WriteChildren()
 
		
	 
	- 
		public class SysXmlSubtreeIterator : SysXmlNode, IXmlIterator, IXmlNode, IXmlKnownType, IXmlIdentity, IRealizableSource, IVirtual
		
	
 
	- 
		public static class Try
		
			- public static bool Failure<T>(out T result)
 
			- public static bool Success<T>(out T result, T value)
 
		
	 
	- 
		public static class TypeExtensions
		
	
 
	- 
		public static class Wsdl
		
			- public const string NamespaceUri = "http://microsoft.com/wsdl/types/"
 
			- public const string Prefix = "wsdl"
 
		
	 
	- 
		public abstract class XmlAccessor : IXmlPropertyAccessor, IXmlAccessor, IXmlCollectionAccessor
		
			- protected enum States
 
			- protected States state
 
			- public Type ClrType { get; }
 
			- public IXmlContext Context { get; protected set; }
 
			- public bool IsCollection { get; }
 
			- public virtual bool IsIgnored { get; }
 
			- public bool IsNillable { get; }
 
			- public bool IsReference { get; }
 
			- public bool IsVolatile { get; }
 
			- public XmlTypeSerializer Serializer { get; }
 
			- public XmlName XsiType { get; }
 
			- protected XmlAccessor(Type clrType, IXmlContext context)
 
			- protected IXmlContext CloneContext()
 
			- public virtual void ConfigureNillable(bool nillable)
 
			- public virtual void ConfigureReference(bool isReference)
 
			- public void ConfigureVolatile(bool isVolatile)
 
			- public virtual IXmlCollectionAccessor GetCollectionAccessor(Type itemType)
 
			- public void GetCollectionItems(IXmlNode parentNode, IDictionaryAdapter parentObject, XmlReferenceManager references, IList values)
 
			- protected IXmlCollectionAccessor GetDefaultCollectionAccessor(Type itemType)
 
			- public virtual object GetPropertyValue(IXmlNode parentNode, IDictionaryAdapter parentObject, XmlReferenceManager references, bool orStub)
 
			- public object GetValue(IXmlNode node, IDictionaryAdapter parentObject, XmlReferenceManager references, bool nodeExists, bool orStub)
 
			- public virtual bool IsPropertyDefined(IXmlNode parentNode)
 
			- public virtual void Prepare()
 
			- protected void RemoveCollectionItems(IXmlNode parentNode, XmlReferenceManager references, object value)
 
			- public virtual IXmlCursor SelectCollectionItems(IXmlNode parentNode, bool mutable)
 
			- public virtual IXmlCursor SelectCollectionNode(IXmlNode parentNode, bool mutable)
 
			- public virtual IXmlCursor SelectPropertyNode(IXmlNode parentNode, bool mutable)
 
			- public virtual void SetPropertyValue(IXmlNode parentNode, IDictionaryAdapter parentObject, XmlReferenceManager references, object oldValue, ref object value)
 
			- public virtual void SetValue(IXmlCursor cursor, IDictionaryAdapter parentObject, XmlReferenceManager references, bool hasCurrent, object oldValue, ref object newValue)
 
		
	 
	- 
		public sealed delegate XmlAccessorFactory<TAccessor> : MulticastDelegate where TAccessor : XmlAccessor
		
	
 
	- 
		public class XmlAdapter : DictionaryBehaviorAttribute, IDictionaryInitializer, IDictionaryBehavior, IDictionaryPropertyGetter, IDictionaryPropertySetter, IDictionaryCreateStrategy, IDictionaryCopyStrategy, IDictionaryReferenceManager, IVirtual, IXmlNodeSource
		
	
 
	- 
		public class XmlArrayBehaviorAccessor : XmlNodeAccessor, IConfigurable<XmlArrayAttribute>, IConfigurable<XmlArrayItemAttribute>
		
	
 
	- 
		public class XmlArraySerializer : XmlTypeSerializer
		
	
 
	- 
		public class XmlAttributeBehaviorAccessor : XmlNodeAccessor, IConfigurable<XmlAttributeAttribute>
		
	
 
	- 
		public abstract class XmlCollectionSerializer : XmlTypeSerializer
		
	
 
	- 
		public class XmlComponentSerializer : XmlTypeSerializer
		
	
 
	- 
		public class XmlContext : XmlContextBase, IXmlContext, IXmlNamespaceSource
		
	
 
	- 
		public class XmlContextBase : XsltContext, IXmlNamespaceSource
		
	
 
	- 
		public class XmlCustomSerializer : XmlTypeSerializer
		
	
 
	- 
		public class XmlDefaultBehaviorAccessor : XmlNodeAccessor
		
	
 
	- 
		public class XmlDefaultSerializer : XmlTypeSerializer
		
	
 
	- 
		public class XmlDynamicSerializer : XmlTypeSerializer
		
	
 
	- 
		public class XmlElementBehaviorAccessor : XmlNodeAccessor, IConfigurable<XmlElementAttribute>, IXmlBehaviorSemantics<XmlElementAttribute>
		
	
 
	- 
		public class XmlEnumerationSerializer : XmlStringSerializer
		
	
 
	- 
		public class XmlIgnoreBehaviorAccessor : XmlAccessor
		
	
 
	- 
		public class XmlIncludedType : IXmlIncludedType
		
	
 
	- 
		public static class XmlIncludedTypeMapExtensions
		
	
 
	- 
		public class XmlIncludedTypeSet : IXmlIncludedTypeMap, IEnumerable<IXmlIncludedType>, IEnumerable
		
	
 
	- 
		public class XmlKnownType : IXmlKnownType, IXmlIdentity
		
	
 
	- 
		public static class XmlKnownTypeMapExtensions
		
	
 
	- 
		public class XmlKnownTypeSet : IXmlKnownTypeMap, IEnumerable<IXmlKnownType>, IEnumerable
		
	
 
	- 
		public class XmlListSerializer : XmlCollectionSerializer
		
	
 
	- 
		public class XmlMetadata : IXmlKnownType, IXmlIdentity, IXmlKnownTypeMap, IXmlIncludedType, IXmlIncludedTypeMap
		
	
 
	- 
		public class XmlMetadataBehavior : DictionaryBehaviorAttribute, IDictionaryMetaInitializer, IDictionaryBehavior
		
	
 
	- 
		public struct XmlName : IEquatable<XmlName>
		
	
 
	- 
		public class XmlNameComparer : IEqualityComparer<XmlName>
		
	
 
	- 
		public abstract class XmlNodeAccessor : XmlAccessor, IXmlKnownType, IXmlIdentity, IXmlKnownTypeMap
		
	
 
	- 
		public abstract class XmlNodeBase : IRealizableSource, IVirtual
		
	
 
	- 
		public static class Xmlns
		
			- public const string NamespaceUri = "http://www.w3.org/2000/xmlns/"
 
			- public const string Prefix = "xmlns"
 
		
	 
	- 
		public class XmlPositionComparer
		
	
 
	- 
		public class XmlReferenceManager
		
			- public XmlReferenceManager(IXmlNode root, IXmlReferenceFormat format)
 
			- public void Add(IXmlNode node, object keyValue, object newValue, bool isInGraph)
 
			- public void OnAssignedValue(IXmlNode node, object givenValue, object storedValue, object token)
 
			- public bool OnAssigningNull(IXmlNode node, object oldValue)
 
			- public bool OnAssigningValue(IXmlNode node, object oldValue, ref object newValue, out object token)
 
			- public void OnGetCompleted(IXmlNode node, object value, object token)
 
			- public bool OnGetStarting(ref IXmlNode node, ref object value, out object token)
 
			- public bool TryGet(object keyObject, out object inGraphObject)
 
			- public void UnionWith(XmlReferenceManager other)
 
		
	 
	- 
		public class XmlSelfAccessor : XmlAccessor
		
	
 
	- 
		public class XmlSelfCursor : IXmlCursor, IXmlIterator, IXmlNode, IXmlKnownType, IXmlIdentity, IRealizableSource, IVirtual
		
	
 
	- 
		public class XmlSetSerializer : XmlCollectionSerializer
		
	
 
	- 
		public static class XmlSimpleSerializer
		
	
 
	- 
		public class XmlSimpleSerializer<T> : XmlTypeSerializer
		
	
 
	- 
		public class XmlStringSerializer : XmlTypeSerializer
		
	
 
	- 
		public class XmlSubtreeReader : XmlReader
		
	
 
	- 
		public class XmlSubtreeWriter : XmlWriter
		
	
 
	- 
		public enum XmlTypeKind
		
	
 
	- 
		public abstract class XmlTypeSerializer
		
	
 
	- 
		public class XmlXmlNodeSerializer : XmlTypeSerializer
		
	
 
	- 
		public class XPathAttribute : Attribute
		
	
 
	- 
		public class XPathBehaviorAccessor : XmlAccessor, IXmlIncludedType, IXmlIncludedTypeMap, IConfigurable<XPathAttribute>, IConfigurable<XPathVariableAttribute>, IConfigurable<XPathFunctionAttribute>
		
	
 
	- 
		public static class XPathCompiler
		
	
 
	- 
		public static class XPathExtensions
		
	
 
	- 
		public abstract class XPathFunctionAttribute : Attribute, IXsltContextFunction
		
	
 
	- 
		public class XPathNode : XmlNodeBase, IXmlNode, IXmlKnownType, IXmlIdentity, IRealizableSource, IVirtual, IRealizable<XPathNavigator>, IRealizable<XmlNode>
		
			- protected XPathNavigator node
 
			- protected readonly CompiledXPath xpath
 
			- public virtual bool IsAttribute { get; }
 
			- public virtual bool IsElement { get; }
 
			- public virtual bool IsNil { get; set; }
 
			- public virtual XmlName Name { get; }
 
			- public object UnderlyingObject { get; }
 
			- public virtual string Value { get; set; }
 
			- public virtual string Xml { get; }
 
			- public virtual XmlName XsiType { get; }
 
			- protected XPathNode(CompiledXPath path, IXmlNamespaceSource namespaces, IXmlNode parent)
 
			- public XPathNode(XPathNavigator node, Type type, IXmlNamespaceSource namespaces)
 
			- public virtual void Clear()
 
			- public void DefineNamespace(string prefix, string namespaceUri, bool root)
 
			- public virtual object Evaluate(CompiledXPath path)
 
			- public string GetAttribute(XmlName name)
 
			- public string LookupNamespaceUri(string prefix)
 
			- public string LookupPrefix(string namespaceUri)
 
			- public virtual XmlReader ReadSubtree()
 
			- public virtual IXmlNode Save()
 
			- public IXmlCursor Select(CompiledXPath path, IXmlIncludedTypeMap includedTypes, IXmlNamespaceSource namespaces, CursorFlags flags)
 
			- public IXmlCursor SelectChildren(IXmlKnownTypeMap knownTypes, IXmlNamespaceSource namespaces, CursorFlags flags)
 
			- public IXmlCursor SelectSelf(Type clrType)
 
			- public IXmlIterator SelectSubtree()
 
			- public void SetAttribute(XmlName name, string value)
 
			- public bool UnderlyingPositionEquals(IXmlNode node)
 
			- public virtual XmlWriter WriteAttributes()
 
			- public virtual XmlWriter WriteChildren()
 
		
	 
	- 
		public class XPathReadOnlyCursor : XPathNode, IXmlCursor, IXmlIterator, IXmlNode, IXmlKnownType, IXmlIdentity, IRealizableSource, IVirtual
		
	
 
	- 
		public abstract class XPathVariableAttribute : Attribute, IXsltContextVariable
		
	
 
	- 
		public static class XRef
		
	
 
	- 
		public static class Xsd
		
			- public const string NamespaceUri = "http://www.w3.org/2001/XMLSchema"
 
			- public const string Prefix = "xsd"
 
		
	 
	- 
		public static class Xsi
		
	
 
Castle.Core
Castle.Core.Internal
Castle.Core.Logging
Castle.Core.Resource
Castle.Core.Smtp
Castle.DynamicProxy
Castle.DynamicProxy.Contributors
Castle.DynamicProxy.Generators
Castle.DynamicProxy.Generators.Emitters
Castle.DynamicProxy.Generators.Emitters.CodeBuilders
Castle.DynamicProxy.Generators.Emitters.SimpleAST
Castle.DynamicProxy.Internal
Castle.DynamicProxy.Tokens