ComponentGuaranteesOptions Enum


Describes the compatibility guarantee of a component, type, or type member that may span multiple versions.

This enumeration has a FlagsAttribute attribute that allows a bitwise combination of its member values.

public enum class ComponentGuaranteesOptions
public enum ComponentGuaranteesOptions
type ComponentGuaranteesOptions = 
Public Enum ComponentGuaranteesOptions


Exchange 1

The developer promises multi-version exchange compatibility for the type. Consumers of the type can expect compatibility across future versions and can use the type in all their interfaces. Versioning problems cannot be fixed by side-by-side execution.

None 0

The developer does not guarantee compatibility across versions. Consumers of the component, type, or member can expect future versions to break the existing client.

SideBySide 4

The component has been tested to work when more than one version of the assembly is loaded into the same application domain. Future versions can break compatibility. However, when such breaking changes are made, the old version is not modified but continues to exist alongside the new version.

Stable 2

The developer promises stable compatibility across versions. Consumers of the type can expect that future versions will not break the existing client. However, if they do and if the client has not used the type in its interfaces, side-by-side execution may fix the problem.


The ComponentGuaranteesOptions enumeration is used by the ComponentGuaranteesAttribute class to indicate the level of compatibility that is guaranteed for a component or class library that spans multiple versions. Exchange provides the strongest compatibility guarantee, followed by Stable and SideBySide. None does not promise compatibility across versions.

For a detailed discussion of the meaning of each guarantee, see the ComponentGuaranteesAttribute topic.

Applies to

See also