IIS应用程序池bin与* .vb

时间:2014-01-02 01:02:56

标签: asp.net .net vb.net iis asp-classic

我正在继承一个令我非常困惑的网站的支持。该网站混合了经典的ASP和.Net,其中一些“.Net”真的是某种转换过程的一部分,所以没有代码隐藏,它是所有内联代码,如PHP或经典ASP 。目前的开发人员(参与了4年多)告诉我任何.Net都是1.0。根据我的理解,他的发布例程涉及直接复制其开发目录的内容(与实际发布相比),因此所有* .vb文件(包括具有它们的页面的* .designer.vb文件)都是一切都在生产中。

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

我不知道是否需要使用StackOverflow或ServerFault,但选择了SO,因为它与编程相关。有没有人对所有这些可能如何运行有任何建议?

1 个答案:

答案 0 :(得分:1)

您必须在此处理许多项目清理问题。

  1. 在开始更改之前,我会确保您在源代码管理中拥有解决方案,因此您可以根据需要进行回滚。
  2. 在任何项目中,您都可以从多个版本引用.NET BCL函数,因为并非每个版本都会更新。我会删除任何使用1.1并将它们重构为更新版本的东西。
  3. 首先删除所有未使用的项目引用,以便了解您的处理方式。请参阅http://msdn.microsoft.com/en-us/library/vstudio/7sfxafba(v=vs.100).aspx
  4. 使用Resharper或CodeRush等第三方工具帮助快速清理代码会很有帮助。
  5. 查看IIS应用程序池设置以确认运行该解决方案的.NET Framework版本,以确认该站点正在使用的.NET框架的实际版本。见http://msdn.microsoft.com/en-us/library/bb909693(v=vs.90).aspx。这些说明将根据运行IIS的服务器以及您在dev / test / production中运行的IIS版本而更改。