General Questions

These are questions related to the .NET platform in general, apart from any specific language or framework questions.

[Main index]

What is C#?

C# is a new object-oriented language from Microsoft that is currently used for application development on the .NET platform. It exhibits features found in languages such as C++, Java, Smalltalk, and Perl, among others.

C# has been submitted to the ECMA standards body.

(Contributed by Paul Parks)

[Section index] [Main index]

What is .NET?

From the GotDotNet.com web site:

Microsoft .NET can best be described as the initiative that will allow the Internet to be the basis of a new operating system. It frees us from the constraints of hardware by making user data available from the internet. .NET is important to users then because it makes their information accessible across all devices. It is also important to developers because it will change the way they develop applications by allowing them to hook into Web Services.

Simply put, Microsoft® .NET is Microsoft's strategy for delivering software as a service.

My own answer is that .NET is essentially a software development platform. It provides a rich class library with support for security, localization, networking, web development, graphical application development, XML processing, SOAP, and several other key features and technologies.

(Contributed by Paul Parks)

[Section index] [Main index]

What platforms support .NET?

Right now the only operating system with a full implementation of .NET (that I know about, anyway) is Microsoft Windows. The .NET Framework redistributable is available for Windows 98, Windows NT, Windows 2000, and Windows XP. The .NET Framework SDK is available for Windows 2000 and Windows XP.

The Mono Project is an ongoing open-source implementation of .NET for Linux and Windows that is currently still in development. The dotGNU project is another open-source .NET implementation. The Rotor project is a Microsoft shared source CLI implementation targeting Windows and FreeBSD.

Thanks to Brad Wilson for telling me about Rotor, and for reminding me about dotGNU.

(Contributed by Paul Parks)

[Section index] [Main index]

How do I get .NET?

Users of .NET applications will need the .NET Framework Redistributable. The redistributable currently supports Windows 98, Windows NT, Windows 2000 and Windows XP.

Developers will want to download the .NET Framework SDK (software development kit), which lets a developer create applications and services for .NET. The SDK currently runs on Windows 2000 and Windows XP. It includes a C# compiler, a VB.NET compiler, a JScript.NET compiler, and a managed C++ compiler.

Users and developers on other platforms may be interested in the Mono Project, or Rotor, or dotGNU.

Thanks to Brad Wilson for pointing out that the SDK comes with a managed C++ compiler.

(Contributed by Paul Parks)

[Section index] [Main index]

What is the .NET Framework Redistributable?

The .NET Framework Redistributable provides everything that a user needs to run applications built for the .NET Framework. It includes the Common Language Runtime, the .NET Framework class library, and ASP.NET for IIS web servers.

(Contributed by Paul Parks)

[Section index] [Main index]

What are some good C# books?

So far the book I use most often is Programming C# by Jesse Liberty, published by O'Reilly. Here are a few recommendations I've received:

(Contributed by Paul Parks)

[Section index] [Main index]

What is the Mono project?

The Mono Project is an ongoing open-source implementation of .NET for Linux and Windows that is currently still in development. It includes an implementation of the Common Language Infrastructure (garbage collector and just-in-time compiler), a class library, and a compiler for the C# language.

(Contributed by Paul Parks)

[Section index] [Main index]

Where can I download the .NET Framework SDK?

From the MSDN download site.

(Contributed by Paul Parks)

[Section index] [Main index]

Where can I download a C# compiler?

One is provided with the .NET Framework SDK. The Mono Project is developing a C# compiler for Linux.

(Contributed by Paul Parks)

[Section index] [Main index]

What C# editors are available?

Naturally, there's Visual Studio.NET from Microsoft, available in several different configurations. A nice open-source editor that I've also used is SharpDevelop.

Several other source editors now have plug-ins for C#. Feel free to submit information about these.

(Contributed by Paul Parks)

[Section index] [Main index]

May I distribute the .NET Framework with my applications?

This process is described in the .NET Framework Deployment Guide. You may distribute the dotnetfx.exe redistributable installer with your application (provided certain licensing restrictions are met; see the link for details).

MSDN also has a page that explains how to bootstrap the Framework installation during installation.

(Contributed by Paul Parks)

[Section index] [Main index]

What do users need to run my .NET applications?

Users of .NET applications will need the .NET Framework Redistributable. The redistributable currently supports Windows 98, Windows NT, Windows 2000 and Windows XP.

(Contributed by Paul Parks)

[Section index] [Main index]