.NET’s Platform Divergence Problem

| by Jonathan Allen Follow 492 Followers on Oct 20, 2010. Estimated reading time: 1 minute |

A note to our readers: You asked so we have developed a set of features that allow you to reduce the noise: you can get email and web notifications for topics you are interested in. Learn more about our new features.

.NET’s Platform Divergence Problem

For many years the platform dependency issues in .NET we very easy to understand. Almost everything people used was marked as either compatible with .NET Compact Edition or with the full edition. Aside from .NET Micro, which hardly anyone used, there wasn’t much else to worry about. But these days the situation has grown quite complex.

Ignoring version numbers, there are currently 13 platforms that run on some flavor of the CLR. Each of these platforms has varying support for what we tend to think of as the base class libraries. In addition, many have their own core libraries that may or may not be shared with other platforms in the list.

  • .NET
  • .NET Client Profile
  • .NET Compact Edition (apparently deprecated)
  • .NET Micro
  • Mono
  • MonoDroid (private beta)
  • MonoTouch
  • Silverlight
  • Silverlight for S60 (beta)
  • Silverlight for Windows Mobile 7
  • XNA for Windows
  • XNA for XBox 360
  • XNA for Windows Mobile 7

Compound this with versions within a platform and the CPU-specific builds that COM and p/invoke calls require and you can quickly become stuck in a quagmire of conflicting dependencies.

At almost at the same time Chris Hardy brought up the issue on Using NuPack with MonoDroid along with a matching feature request, Phil Haack was posting his proposal for filtering at the GUI level. With people both inside and outside Microsoft seriously looking at package management, hopefully this will not become an ongoing problem on the dependency front. As for testing across all these platforms, that will still be left to the individual projects.

Rate this Article

Adoption Stage

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

And by Dzmitry Lahoda

DotGNU Project?

Re: And by Jonathan Allen

After seven years and no discernible progress, I’ve pretty much given up on it.

Re: And by Dan Tines

Unfortunately, DotGNU became irrelevant a long time ago. Rhys Weatherly is a incredible programmer, but I think he stopped "actively" working on the project years ago, and I don't believe there was never enough talent to pick up the slack.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

3 Discuss

Login to InfoQ to interact with what matters most to you.

Recover your password...


Follow your favorite topics and editors

Quick overview of most important highlights in the industry and on the site.


More signal, less noise

Build your own feed by choosing topics you want to read about and editors you want to hear from.


Stay up-to-date

Set up your notifications and don't miss out on content that matters to you