Florence Blogspot about asp.net tutorials and web design and web development

Tuesday, January 22, 2008

DOTNET Framework FAQ Questions

FAQ Questions

What is .NET?
What version of Windows do I need to use .NET?
Do I have to be running Windows to use .NET?
Does the framework have to be installed to run my .NET application?
What do all the acronyms (CLI, CLR, IL etc) mean?
What is Whidbey and when is it coming out?
What versions of .NET are there?
What does 'managed' mean in the .NET context?
Does .NET have any compressiong/zipping capabilities?

FAQ Answers

Q: What is .NET?
A: NET is a platform created by Microsoft. It consists of a virtual execution environment (including garbage collection, JITting, strong versioning, type and memory safety etc) and a large runtime library. It is at the heart of Microsoft's future strategy for the Windows platform, and will be a central part of the next release of Windows (Longhorn).


Q: What version of Windows do I need to use .NET?
A: The .NET framework itself runs on all versions of Windows from Windows 98/NT4 upwards.

It does not run on Windows 95 or NT3.5. For NT4, it requires service pack 6a.

Q: Do I have to be running Windows to use .NET?
A: There are various (mostly open source) projects to write a CLR (Common Language Runtime) on other operating systems such as Linux and BSD. The two best known are:
Mono - an open source multi-platform systemROTOR - a Microsoft Shared Source implementation for FreeBSD, Windows XP and Mac OS X 10.2. (Link is to a website with a range of links; no one link seems particularly suitable on its own.)Strictly speaking, these are not actually .NET - .NET is Microsoft's closed-source Windows-only implementation of the CLR and other technologies, including various other framework libraries which aren't all covered in the above projects (which may themselves have libraries which aren't in .NET-proper). They do, however, allow you to write programs in C# and run them.

Q: Does the framework have to be installed to run my .NET application?
A: Yes - if you have a managed application, it will require the framework to be present in order to run. This is like requiring the Win32 libraries to be present in order to run Windows applications. Pre-compiling your code using ngen doesn't affect this requirement.Having said the above, there are two products which build everything you need from the framework for your application, along with your application itself, into one big bundle:
RemoteSoft's linker and mini-deployment tool Thinstall Studio Both of these mean the framework itself isn't required, and give additional protection against decompilation. The downside is that if a user then has many such applications, they end up effectively with multiple copies of bits of the framework. I cannot vouch for either of these products myself, as I've had no experience of them.

Q: What do all the acronyms (CLI, CLR, IL etc) mean?
A: CIL - Common Intermediate LanguageThe language all .NET languages compile to. Equivalent to Java bytecode.CLI - Common Language InfrastructureThe combination of the CLR, CLS, CTS and CILCLR - Common Language RuntimeThe runtime environment itself, including garbage collection, threading etc.CLS - Common Language SpecificationA set of conventions intended to promote language interoperability.CTS - Common Type SystemThe language-neutral type system used in the CLI.IL - Intermediate LanguageMore commonly used abbreviation for CIL.VES - Virtual Execution SystemAnother name for the CLR as far as I can tell.


Q: What is Whidbey and when is it coming out?
A: Whidbey is the next version of Visual Studio .NET, and is closely tied to V2.0 of the framework. It is likely to be released in the first half of 2005.


Q: What versions of .NET are there?
A: The final version of the 1.0 SDK and runtime was made publicly available around 6pm PST on 15-Jan-2002. At the same time, the final version of Visual Studio.NET was made available to MSDN subscribers..NET 1.1 was released in April 2003 - it's mostly bug fixes for 1.0..NET 2.0 is expected in 2005.


Q: What does 'managed' mean in the .NET context?
A: The term 'managed' is the cause of much confusion. It is used in various places within .NET, meaning slightly different things.Managed code: The .NET framework provides several core run-time services to the programs that run within it - for example exception handling and security. For these services to work, the code must provide a minimum level of information to the runtime. Such code is called managed code.Managed data: This is data that is allocated and freed by the .NET runtime's garbage collector.Managed classes: This is usually referred to in the context of Managed Extensions (ME) for C++. When using ME C++, a class can be marked with the __gc keyword. As the name suggests, this means that the memory for instances of the class is managed by the garbage collector, but it also means more than that. The class becomes a fully paid-up member of the .NET community with the benefits and restrictions that brings. An example of a benefit is proper interop with classes written in other languages - for example, a managed C++ class can inherit from a VB class.


Q: Does .NET have any compressiong/zipping capabilities?
A: The .NET framework doesn't contain any general purpose compression libraries, but there are plenty of third-party libraries available. The most commonly referenced is probably
SharpZipLib, which is free and open source but may still be used in commercial applications.

No comments:

Search