This documentation is archived and is not being maintained.

Cross-Language Interoperability

The common language runtime provides built-in support for language interoperability. However, this support does not guarantee that code you write can be used by developers using another programming language. To ensure that you can develop managed code that can be fully used by developers using any programming language, a set of language features and rules for using them, called the Common Language Specification (CLS), has been defined. Components that follow these rules and expose only CLS features are considered CLS-compliant.

This section describes the common language runtime's built-in support for language interoperability and explains the role that the CLS plays in enabling guaranteed cross-language interoperability. CLS features and rules are identified, and CLS compliance is discussed.

In This Section

Language Interoperability Overview
Describes built-in support for cross-language interoperability and introduces the Common Language Specification.
What is the Common Language Specification?
Explains the need for a set of features common to all languages and identifies CLS rules and features.
Writing CLS-Compliant Code
Discusses the meaning of CLS compliance for components and identifies levels of CLS compliance for tools.

Related Sections

Common Type System
Describes how types are declared, used, and managed by the common language runtime.
Metadata and Self-Describing Components
Explains the common language runtime's mechanism for describing a type and storing that information with the type itself.