Hi,
its an comprehensive software development framework with a runtime (CLR)
that manages execution of assemblies, garbage collection, memory management,
type safety & verification, among others. The assemblies themselves are self
described units contaning metadata to store version info., name, external
references etc which ,makes them highly platform independent. The framework
also contains a rich set of class libraries that you can use off the shelf
according to your needs. And above all, its managed code, i.e. code that
runs under the supervision of CLR.
In shark contrast, COM is unmanaged code (doesn't runs under the CLR),
relies heavily on the registry in terms of version & type information.
However, dotnet framework does have a feature called interoperability
wherein .NET components & COM components can talk to each other.
Regards
Joyjit