tags:

views:

205

answers:

7

I'm curious about the various versions of .net. We have an environment where we've developed applications in various versions (1.1 and 2.0). Now, I'm trying to get the 'go ahead' for developing in 3.5. The biggest issue is whether or not these versions will play nicely together on the same installation of IIS. Another caveat is that I'm developing on Windows XP with Visual Studio 2005 and IIS 5.0. The applications will be running on windows server 2003 and using IIS 6.0. From what I have seen, it looks like each IIS virtual directory can set its own specific version of .net. Shouldn't this be enough that the varied applications using the varied .Net versions not affect one another?

I'll take any answers I can get, but it would be supremely helpful if you could reference your answer with some documentation straight from Microsoft (my company plays big attention to 'hearing it directly from the hourses mouth' so to speak). That said, I really will take any answers here. Stories from the ditches are welcome too.

Thanks!

A: 

On Windows 2003 you can not have applications running on different versions of the framework inside one application pool. You have to create separate application pools either per application or at least per framework version.

BTW: creating separate app pools is a good thing and gives you some other advantages, e.g. apps are isolated from each other, you can set the performance settings (memory, recycling, etc) per application, etc.

M4N
+6  A: 

The largest issue you will run into with hosting v.1.1 and v.2.0 and higher apps is that you will need two application pools.

One for the v.1.1 Web Sites, and another for the v.2.0 and higher sites.

For your own knowledge, .Net 3.0 and 3.5 are both supersets of .Net 2.0, basically add-ons to the Runtime. Although the host machine is still required to have them installed. For all .Net 2.0 and higher web apps, simply install the latest .Net 3.5 SP1 runtime on the host server.

With IIS 6.0 and higher you get access to the Application Pools, IIS 5.0 does not expose this.

I would recommend switching your dev environment to Win 2k3 or Vista (IIS 7.0).

Tom Anderson
Correction: 3.0 and 3.5 are *supersets* of .NET 2.0. :)End of nit-pick (but it's an important one).
Mike Hofer
thanks, will update :)
Tom Anderson
+1  A: 

So is creating new application pools a bad thing? Like crossing the streams bad or just something you do to get this to work?

I guess I'm asking, is it recommended not to run various versions of .net on the same machine? Obviously, in a perfect world, our applications would all run on the same version...but this world is not perfect.

jason baisden
It's not a bad thing. See my (updated answer).
M4N
An application pool is merely a way to separate the work IIS hands off to other processes. One could have an application pool for each web site and each with its own configuration of how often to recycle, what identity to run under, etc. There is likely a little overhead in creating a bunch.
JB King
A: 

You should look at running different versions on separate virtual machines.

brian
+1  A: 

In addition to Tom Anderson's answer, you mentioned that your dev environment is Visual Studio 2005 on XP (IIS 5.0). It's important to note that .NET 3.5 cannot be developed from Visual Studio 2005. You will need to upgrade to Visual Studio 2008.

steve_c
A: 

steve_c, that is a very important distinction that pretty much settles everything.

Thanks for everyone's reply. You've been a grand help.

jason baisden
A: 

How does this apply for windows applications or services? Can various versions of .Net be used on the same server for this situation?

jason baisden