The following is my opinion. You are entitled to your own. I believe the opinions expressed below are fully supported by news reports and other documents freely available via the Internet. Many are linked on the two links pages maintained on this site.
Microsoft sees the writing on the wall and will do almost anything to preserve some monopoly control over computer users. Their .NET strategy is designed to move their monopoly power from the desktop to the Internet.
The PC has become a commodity. Microsoft has kept the operating system from becoming a commodity for many years. However, by 1998 it was clear that Linux was well on its way to making the OS a commodity on commodity hardware. The Halloween documents reveal that Microsoft understood that they cannot use their traditional tactics of FUD, astroturfing, buyouts, strong-arming, and embrace, extend, extinguish to eliminate the open source software threat. These methods have been employed to slow the adoption of open source software as well as to damage its reputation in the minds of people who would listen. This provides the opportunity to Microsoft to work out their Internet strategy, .NET.
While I.E., FrontPage extensions and MSJava (J++) worked on the client side to slow the trend toward making the client's OS irrelevant, Windows 2000 and Kerberos extensions worked toward adding dependency on MS for server-supplied services. This attack strategy keeps clients locked into MS and begins the infection of Internet servers with MS proprietary methods to crowd out public protocols. It fits perfectly with the strategy of "decommoditizing" public protocols that was outlined in the Halloween documents. It attacks the main strength of open source software: the Internet.
Microsoft also launched attacks at the future of open source software development. They embarked on a campaign to essentially bribe universities to switch to MS servers. Naturally, MS clients would work better with MS servers, so getting MS on the servers eventually leads to fewer non-MS clients on the network. Fewer non-MS clients (workstations) means it is more difficult to develop software that runs on non-MS systems. Development software is free in the Linux/FreeBSD world; development software that runs on MS is very expensive. If you eliminate those pesky free OSes on workstations in universities, you severely slow or eliminate future open source software developers.
Microsoft announced C# to interrupt movement to C++ and provide a proprietary programming language to their proprietary .NET. It fits with their historical method of pre-announcements to slow adoption of competing software. Once a developer is brought into the MS fold, naturally that developer finds it easier to work on an MS platform, using MS tools, to produce software for MS platforms.
The biggest threat to the MS monopoly is the Internet, with its public protocols and standards. This public network of computers was designed from the start to be platform indifferent. MS needs to maintain the dependency of computer users on their platform. If people are able to join and use a world-wide network without being dependent on MS software, from OS to applications, then MS becomes irrelevant and the revenue stream based on dependency rather than value dies. Since MS cannot halt or reverse the move to a commodity operating system, it needs to move its monopoly to networking.
Microsoft failed in its drive to supplant and replace Unix on network servers. Infiltration by NT spiked, then declined, then stagnated. Instead of a stampede to NT, the stampede has been to Linux and FreeBSD on the low-end and some mid-level servers. Windows 2000 flopped as well, due in part to the breakages of protocols from the MS extensions. The largest servers continue with the big Unix systems.
With the inevitable death of their desktop monopoly and the failed attempt to gain monopoly powers on servers, Microsoft must have some other means to lock users to their software and maintain their revenue stream. .NET fills that need. It moves the monopoly powers from the desktop to the network. Those who do not use networking will continue to feed the MS revenue stream through the traditional coerced upgrade of software (to gain the newest, backwards-incompatible features and file formats). Those who have become dependent on the Internet will be courted to join .NET where they will become dependent on Microsoft.
Naturally, Microsoft wants it to be very easy to join .NET and become dependent on its services. Basic .NET software will therefore be provided for platforms which have significant numbers of users. Just as naturally, .NET will work best when the client is Windows. This provides the incentive (a.k.a. coercion) for the .NET user to "upgrade" to a Microsoft platform. It would be very surprising indeed if platforms other than Windows were to receive support equal to Windows. It would be a complete break from the history of Microsoft if other platforms were not relegated to second-class citizens of .NET.
In order to get the .NET revenue stream up to speed as the application upgrade and OS revenue streams slow to a trickle, Microsoft must get as many users as possible migrated to .NET. C#, J++ and the .NET-specific alterations to VB get the developers locked into .NET, while the activation scheme of Windows XP gets current desktop users accustomed to dependency on the network (with DMCA and eventually UCITA legal protections from those who would provide reverse-engineered solutions for non-MS platforms). Providing basic .NET services to non-MS clients simply expands the opportunity to gain more paying dependents.
It could very well be the mistake of the millenium for computer users to allow themselves to be taken in by .NET. The stampede away from the monopolistic, anti-competitive, anti-innovative, anti-business, anti-customer cage in which computer users have so long been locked has just begun. Microsoft is casting a giant net to recapture these escapees, not for the benefit of the computer user, but merely for the benefit of Microsoft's revenue stream. Microsoft must recapture these payees who are fleeing the cage of regularly changing, backwards-incompatible, expensive file formats. Microsoft can't afford to let too many computer users gain their freedom from Microsoft draconian End User License Agreements and patents. Microsoft must cast its net across the Internet which has begun to free computer users from the need to pay Microsoft on a regular basis.
Don't get caught in .NET; just say, "Nyet!" to the monopolist's trap.