简体   繁体   English

IIS应用程序池bin与* .vb

[英]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. 该网站混合了经典的ASP和.Net,其中一些“.Net”真的是某种转换过程的一部分,所以没有代码隐藏,它是所有内联代码,如PHP或经典ASP 。 The current developer (been involved for 4+ years) has told me anything that is .Net is against 1.0. 目前的开发人员(参与了4年多)告诉我任何.Net都是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. 根据我的理解,他的发布例程涉及直接复制其开发目录的内容(与实际发布相比),因此所有* .vb文件(包括具有它们的页面的* .designer.vb文件)都是一切都在生产中。

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. 让我感到困惑的领域是我知道.Net 1.0与.Net 2.0高度不兼容,因为它们在两个版本之间做了所有重大改变。 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? 我想弄清楚的是,如果vbproj文件说它指向VS 2002的版本号,bin目录中的DLL都引用1.0.5000.0用于mscorlib引用(系统等),但是应用程序池配置为.Net 2.0 IIS实际上是否忽略了它从bin目录读取的内容,而是动态地从.vb文件中提取代码? 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. 我知道来自VS的“新”(当时)Web站点选项(与Web应用程序)在飞行编译中引入,但我不知道这是否发生在这里或不在幕后。 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. 事情变得更加模糊的是这个过程的一部分我试图将网站迁移到我拥有的一组新服务器,当我在IIS中创建网站时,我甚至没有关注应用程序池,所以默认是已分配的是.Net 4.我们的客户服务员工正在新机箱上测试网站, 一切正常。

I had no idea if this needed to go in StackOverflow or ServerFault, but chose SO because it's pretty heavily programming related. 我不知道这是否需要进入StackOverflow或ServerFault,但选择了SO,因为它与编程相关。 Does anyone have any suggestions for how all of this might be running? 有没有人对所有这些可能如何运行有任何建议?

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. 在任何项目中,您都可以从多个版本引用.NET BCL函数,因为并非每个版本都会更新。 I would remove any thing that uses 1.1 and refactor them to a newer edition. 我会删除任何使用1.1的东西并将它们重构为更新的版本。
  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 请参阅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. 使用Resharper或CodeRush等第三方工具来帮助快速清理代码会很有帮助。
  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. 查看IIS应用程序池设置以确认运行该解决方案的.NET框架版本,以确认该站点正在使用的.NET框架的实际版本。 See http://msdn.microsoft.com/en-us/library/bb909693(v=vs.90).aspx . 请参阅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. 这些说明将根据运行IIS的服务器以及您在dev / test / production中运行的IIS版本而更改。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM