Hi all,
I've been trying to figure out how to manage upgrading a root Web application to ASP.NET 2.0 without affecting all of the sub-virtual directories that live below it.
The problem is that the ASP.NET compiler does not stop compiling at virtual directory boundaries, so if I have a layout like this:
/ - Root Web (ASP.NET 2.0)
/SubWeb - SubWeb Virtual (ASP.NET 1.1)
/SubWeb2 - Static Virtual
the compiler will compile EVERYTHING including the 1.1 subweb and the static files. First this takes time to do something that doesn't need to be done, copies around extra files taking up space and confuses the whole deployment process.
To make things worse, a 1.1 ASP.NET virtual below a 2.0 root will look at the 2.0 web.config and fail because it doesn't recognize the schema.
I posted some more info on these issues here a while back.
http://west-wind.com/weblog/posts/2231.aspx (Projects/Compiler)
http://west-wind.com/weblog/posts/2107.aspx (2.0 Root Web/1.1 subdir)
I haven't seen anybody else mention anything about this, so I'm wondering if I'm just missing something obvious. I bugged this in Ladybug and it came back by design. I don't know, but to me this seems like a pretty major issue as this basically means you have to design your ASP.NET sites independently of anything else or risk getting all this crap pulled into your projects. This is going to be a major problem for Portal type applications that have root webs with other virtual applications below them.
For example, I wanted to run my root Web with 2.0 but VS.NET pulled in all of the 4000+ files that make up my site. Now when I deploy it compiles all 4000 of those files into the deploy directory, including the 1.1 apps below it. Is this really what we want here???
The 2.0 web.config isse too is pretty major as this basically means if you want to deploy a 2.0 in the root you HAVE TO deploy it on all the sub directories or else have 1.1 applications fail.
I don't see a way around this, short of moving the sub web virtuals out of the root directory and externally mapping the virtuals which is a ridiculous requirement since this is not a logical layout for a Web site.
Please somebody tell me I'm missing something here <g>...
+++ Rick ---