Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

IIS Application Pool bin vs. *.vb

I am in the process of inheriting the support of a website that has me very confused. The site has a mixture of classic ASP and .Net, with some of the ".Net" really being part of a conversion process of some kind so there isn't a code-behind and it's all inline code like with PHP or classic ASP. The current developer (been involved for 4+ years) has told me anything that is .Net is against 1.0. Based on my understanding, his publishing routine involves copying the contents of his development directory up directly (vs. an actual publish) so all of the *.vb files (including the *.designer.vb ones for the pages that have them) are all up there in production.

The area that has me so confused is I know .Net 1.0 is highly incompatible with .Net 2.0 because of all the breaking changes they did between the two versions. What I'm trying to figure out is, if the vbproj file says it points to a version number for VS 2002, the DLLs in the bin directory all reference 1.0.5000.0 for mscorlib references (System, etc.), but the application pool is configured for .Net 2.0 does IIS actually ignore what it would've read out of the bin directory and instead pull code from the .vb file on the fly? I know the "new" (at the time) Web Site option (vs. Web Application) from VS introduced on the fly compilation, but I have no idea if that's happening here or not behind the scenes. Where things get even murkier is as part of this process I am trying to migrate the site to a new set of servers that I own and when I created the sites in IIS I wasn't even paying attention to the app pool so the default was assigned which was .Net 4. Our customer service employee was testing the site on the new boxes and everything works.

I had no idea if this needed to go in StackOverflow or ServerFault, but chose SO because it's pretty heavily programming related. Does anyone have any suggestions for how all of this might be running?

like image 768
Scott Salyer Avatar asked Mar 11 '26 08:03

Scott Salyer


1 Answers

There are a number of project clean up issues your have to deal with here.

  1. I would make sure you have the solution in source control before you start changes, so you can rollback as needed.
  2. In any project you can reference .NET BCL functions from multiple version as not all get updated with each release. I would remove any thing that uses 1.1 and refactor them to a newer edition.
  3. Remove all the unused project references first, so you know what your dealing with. See http://msdn.microsoft.com/en-us/library/vstudio/7sfxafba(v=vs.100).aspx
  4. It would be helpful to use some of the 3rd party tools like Resharper or CodeRush to help clean up the code quickly.
  5. Review the IIS application pool settings to confirm which edition of the .NET framework the solution is running under to confirm the actual edition of .NET framework the site is working with. See http://msdn.microsoft.com/en-us/library/bb909693(v=vs.90).aspx. These instructions will change based on the server that is running IIS and which edition of IIS your running in dev/test/production.
like image 58
Jamie Clayton Avatar answered Mar 14 '26 03:03

Jamie Clayton