Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
CAN CSA ISO IEC TR 23272-13 (2017) represents the Canadian adoption of the International Technical Report ISO/IEC TR 23272-13:2017, part of the broader technical report series on the Common Language Infrastructure (CLI). This document provides essential guidance and background information on the metadata semantics, type system architecture, and runtime behavior specified in the CLI standard (ISO/IEC 23271). As a Technical Report, it does not contain normative requirements but offers informative recommendations and clarifications to support implementers, library developers, and system integrators working within the CLI ecosystem.
The scope encompasses detailed discussions of metadata encodings, signature blobs, type visibility rules, security boundaries, and interaction between managed and unmanaged code. It bridges the gap between the formal standard and practical implementation by providing explanatory text, illustrative examples, and rationale for design decisions.
The technical report does not impose mandatory requirements but sets forth best practices and explanatory commentary on several key aspects of the CLI. The table below summarizes the primary technical areas covered and the nature of the guidance provided.
| Technical Area | Guidance Focus | Relevance to Implementers |
|---|---|---|
| Metadata Semantics | Encoding of assemblies, modules, types, and methods; attribute definitions; custom modifiers | Ensuring correct metadata generation and consumption by compilers, linkers, and runtime tools |
| Type System Architecture | Type visibility, inheritance, generics, variance, and constrained types | Avoiding type substitution errors and maintaining type safety across library boundaries |
| Runtime Behavior | Object layout, virtual method dispatch, exception propagation, and garbage collection interaction | Optimizing performance while preserving correctness |
| Interoperability | Platform invoke, COM interop, pointer marshaling, and managed/unmanaged code transitions | Building hybrid applications that leverage native libraries without compromising safety |
| Security and Verification | Verifiable type safety rules, code access security (CAS) legacy, and transparency levels | Ensuring code passes verification under the CLI standard and meets deployment security requirements |
One of the most detailed sections of the TR concerns metadata token encoding and the semantics of signatures (field, method, property). It explains how the CLI handles method impl flags, member access attributes, and custom attribute storage in detail. For library developers, understanding these aspects is crucial for creating assemblies that interoperate seamlessly across CLI implementations.
Another significant portion addresses the runtime verification algorithm. The TR explains the conditions under which a method body is considered verifiable, including stack state management, type compatibility checks, and restrictions on instruction sequences. This is invaluable for just-in-time (JIT) compiler authors and verification tools required to validate third-party code.
Adopting the guidance of CAN CSA ISO IEC TR 23272-13 can assist in building CLI implementations that are robust, interoperable, and compliant with the underlying international standard. Key implementation highlights include:
While CAN CSA ISO IEC TR 23272-13 is a Technical Report and not a normative standard, it holds significant weight in regulatory and procurement contexts within Canada. It may be referenced in contracts where a deeper understanding of CLI semantics is required. For organizations seeking to certify their CLI implementations under a Canadian framework, familiarity with this TR demonstrates due diligence and technical competence.
Compliance considerations include:
Stakeholders should also note that the Canadian adoption (CSA prefix) may include a national foreword or annex addressing specific regional considerations. Always verify the exact document version in use.
© 2026 International Standards Documentation. This article is provided for informational purposes and does not replace the official text of the standard.