Difference between CLR,CTS and CLS in .Net
CLR....
The Common Language Runtime
(CLR) is the virtual machine component of Microsoft's .NET initiative.
It is Microsoft's implementation of the Common Language Infrastructure
(CLI) standard, which defines an execution environment for program code.
The CLR runs a form of bytecode called the Common Intermediate Language
(CIL, previously known as MSIL -- Microsoft Intermediate Language).
Developers
using the CLR write code in a language such as C# or VB.Net. At compile
time, a .NET compiler converts such code into CIL code. At runtime, the
CLR's just-in-time compiler converts the CIL code into code native to
the operating system. Alternatively, the CIL code can be compiled to
native code in a separate step prior to runtime. This speeds up all
later runs of the software as the CIL-to-native compilation is no longer
necessary.
Although some other implementations of the Common
Language Infrastructure run on non-Windows operating systems,
Microsoft's implementation runs only on Microsoft Windows operating
systems.
The virtual machine aspect of the CLR allows programmers
to ignore many details of the specific CPU that will execute the
program. The CLR also provides other important services, including the
following:
* Memory management
* Thread management
* Exception handling
* Garbage collection
* Security
CLS...
To fully interact with other
objects regardless of the language they were implemented in, objects
must expose to callers only those features that are common to all the
languages they must interoperate with. For this reason, the Common
Language Specification (CLS), which is a set of basic language features
needed by many applications, has been defined. The CLS rules define a
subset of the common type system; that is, all the rules that apply to
the common type system apply to the CLS, except where stricter rules are
defined in the CLS. The CLS helps enhance and ensure language
interoperability by defining a set of features that developers can rely
on to be available in a wide variety of languages. The CLS also
establishes requirements for CLS compliance; these help you determine
whether your managed code conforms to the CLS and to what extent a given
tool supports the development of managed code that uses CLS features.
If your component uses only CLS features in the API that it exposes to other code (including derived classes), the component is guaranteed to be accessible from any programming language that supports the CLS. Components that adhere to the CLS rules and use only the features included in the CLS are said to be CLS-compliant components.
Most of the members defined by types in the .NET Framework class library are CLS-compliant. However, some types in the class library have one or more members that are not CLS-compliant. These members enable support for language features that are not in the CLS. The types and members that are not CLS-compliant are identified as such in the reference documentation, and in all cases a CLS-compliant alternative is available. For more information about the types in the .NET Framework class library, see the .NET Framework Reference.
The CLS was designed to be large enough to include the language constructs that are commonly needed by developers, yet small enough that most languages are able to support it. In addition, any language construct that makes it impossible to rapidly verify the type safety of code was excluded from the CLS so that all CLS-compliant languages can produce verifiable code if they choose to do so. For more information about verification of type safety, see JIT Compilation.
The following table summarizes the features that are in the CLS and indicates whether the feature applies to both developers and compilers (All) or only compilers. It is intended to be informative, but not comprehensive. For details, see the specification for the Common Language Infrastructure, Partition I, which is located in the Tool Developers Guide directory installed with the Microsoft .NET Framework SDK.
If your component uses only CLS features in the API that it exposes to other code (including derived classes), the component is guaranteed to be accessible from any programming language that supports the CLS. Components that adhere to the CLS rules and use only the features included in the CLS are said to be CLS-compliant components.
Most of the members defined by types in the .NET Framework class library are CLS-compliant. However, some types in the class library have one or more members that are not CLS-compliant. These members enable support for language features that are not in the CLS. The types and members that are not CLS-compliant are identified as such in the reference documentation, and in all cases a CLS-compliant alternative is available. For more information about the types in the .NET Framework class library, see the .NET Framework Reference.
The CLS was designed to be large enough to include the language constructs that are commonly needed by developers, yet small enough that most languages are able to support it. In addition, any language construct that makes it impossible to rapidly verify the type safety of code was excluded from the CLS so that all CLS-compliant languages can produce verifiable code if they choose to do so. For more information about verification of type safety, see JIT Compilation.
The following table summarizes the features that are in the CLS and indicates whether the feature applies to both developers and compilers (All) or only compilers. It is intended to be informative, but not comprehensive. For details, see the specification for the Common Language Infrastructure, Partition I, which is located in the Tool Developers Guide directory installed with the Microsoft .NET Framework SDK.
CTS.....
The Common Type System
(CTS) is a standard that specifies how Type definitions and specific
values of Types are represented in computer memory. It is intended to
allow programs written in different programming languages to easily
share information. As used in programming languages, a Type can be
described as a definition of a set of values (for example, "all integers
between 0 and 10"), and the allowable operations on those values (for
example, addition and subtraction).
The specification for the CTS is contained in Ecma standard 335, "Common Language Infrastructure (CLI) Partitions I to VI." The CLI and the CTS were created by Microsoft, and the Microsoft .NET framework is an implementation of the standard.
The specification for the CTS is contained in Ecma standard 335, "Common Language Infrastructure (CLI) Partitions I to VI." The CLI and the CTS were created by Microsoft, and the Microsoft .NET framework is an implementation of the standard.
Thanks for sharing
ReplyDeleteit has been very usefull :)
great
ReplyDeleteIt's very nice post , Thanks For sharing
ReplyDelete.Net Online Training Bangalore
I like this very much. It is very useful for my research. It shows your interest in this topic very well. I hope you will post some more information about the software. Please keep sharing!
ReplyDeleteDot Net Training in Chennai | Dot Net Training in anna nagar | Dot Net Training in omr | Dot Net Training in porur | Dot Net Training in tambaram | Dot Net Training in velachery
Well Written. Keep updating more and more Dot net Online Training
ReplyDeleteNet Course
net training
kayseriescortu.com - alacam.org - xescortun.com
ReplyDeleteI am always searching online for articles that can help me. There is obviously a lot to know about this. I think you made some good points in Features also. Keep working, great job! google ads
ReplyDeleteSimple and clear. Keep updating more and more.
ReplyDeleteVisit us: dot net training
Visit us: Dot Net Online Training Hyderabad
Thank You so much.The type of article you provided is what I was trying to find. Turkey visa for Canada is a visa which is provided to the Canadian citizen to visit turkey.
ReplyDeletemmorpg oyunlar
ReplyDeleteınstagram takipçi satin al
tiktok jeton hilesi
tiktok jeton hilesi
antalya saç ekimi
İNSTAGRAM TAKİPCİ SATIN AL
İNSTAGRAM TAKİPÇİ SATIN AL
METİN PVP
instagram takipçi satın al
kadıköy alarko carrier klima servisi
ReplyDeletebeykoz alarko carrier klima servisi
üsküdar alarko carrier klima servisi
beykoz daikin klima servisi
pendik toshiba klima servisi
tuzla daikin klima servisi
maltepe daikin klima servisi
kadıköy daikin klima servisi
kartal toshiba klima servisi
Good text Write good content success. Thank you
ReplyDeletebetpark
kibris bahis siteleri
tipobet
slot siteleri
kralbet
betmatik
mobil ödeme bahis
poker siteleri
Good content. You write beautiful things.
ReplyDeletesportsbet
sportsbet
mrbahis
vbet
hacklink
vbet
korsan taksi
taksi
mrbahis
başakşehir
ReplyDeletebayrampaşa
beşiktaş
beykoz
beylikdüzü
2N4T
mecidiyeköy
ReplyDeletesakarya
istanbul
kayseri
ordu
RSFV
kıbrıs
ReplyDeleteedirne
muş
trabzon
balıkesir
BEQ6E
whatsapp görüntülü show
ReplyDeleteücretli.show
RRW
görüntülü.show
ReplyDeletewhatsapp ücretli show
1W6
Thanks and I have a dandy offer you: How Much Do House Repairs Cost contractor for home renovation near me
ReplyDeleteشركة مكافحة الصراصير بالدمام xWOyV27sKP
ReplyDelete